JavaScript:表单常用验证脚本(整理)

以下内容根据网上资源整理而来,主要来源是CSDN一个供下载的check.js,源码地址找不到了。

1. 检查输入字符串是否为空或者全部都是空格

/*

检查输入字符串是否为空或者全部都是空格

输入:str 输入的字符串

返回:如果全是空返回true;否则返回false

*/

function isNull(str) {

    if (str == "") return true;

    

    var regexp = "^[ ]+$";

    var regObj = new RegExp(regexp);

    return regObj.test(str);

}

2. 检查输入对象的值是否符合Email格式

/*

检查输入对象的值是否符合Email格式;如:[email protected]

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function checkEmail(str) {  

//    var regexp = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/; 

    var regexp = /^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.(?:com|cn)$/;

    return regexp.test(str);

}

3. 检查输入手机号码是否正确

/*

检查输入手机号码是否正确;如:13857392812

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function checkMobile(str) {   

    var regexp =/^[1][3][0-9]{9}$/;

    return regexp.test(str);

}

4. 检查输入的电话号码格式是否正确,允许包括区号

/*

检查输入的电话号码格式是否正确,允许包括区号;如:80827182、010-89187876

输入:strPhone 电话号码格式字符串

返回:如果通过验证返回true;否则返回false

*/

function checkPhone(strPhone) { 

    var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/; 

    var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/; 

    if(strPhone.length > 8) {

        return phoneRegWithArea.test(strPhone);

    }else{

        return phoneRegNoArea.test(strPhone);

    }

}

5. 校验ip地址的格式

/*

校验ip地址的格式;如:12.32.12.123

输入:strIP ip地址格式字符串

返回:如果通过验证返回true,否则返回false;

*/

function isIP(strIP) { 

    if(isNull(strIP)) return false;

    

    var regexp=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g;

    if(regexp.test(strIP)) {

        if(RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;

    }

    return false; 

} 

6. 检查输入对象的值是否符合整数格式

/*

检查输入对象的值是否符合整数格式;如:123、-324

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function isInteger(str) {  

    var regexp = /^[-]{0,1}[0-9]{1,}$/;

    return regexp.test(str);

}

7. 检查输入字符串是否符合正整数格式

/*

检查输入字符串是否符合正整数格式;如:123、567

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function isPositiveInteger(str) {   

    var regexp = "^[0-9]+$";

    var regObj = new RegExp(regexp);

    if (str.search(regObj) != -1) {

        return true;

    } else {

        return false;

    }

}

8. 检查输入字符串是否是带小数的数字格式,可以是负数

/*

检查输入字符串是否是带小数的数字格式,可以是负数;如:123.3456、-454.212344

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function isDecimal(str) {   

    if(isInteger(str)) return true;

    var regexp = /^[-]{0,1}(\d+)[\.]+(\d+)$/;

    if (regexp.test(str)) {

        if(RegExp.$1==0&&RegExp.$2==0) return false;

        return true;

    } else {

        return false;

    }

}

9. 检查输入字符串是否符合金额格式,不可以是负数

/*

检查输入字符串是否符合金额格式,不可以是负数;如:123.45、456.233

格式定义为带小数的正数,小数点后最多三位

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function isMoney(str) {   

    var regexp = "^[0-9]+[\.][0-9]{0,3}$";

    var regObj = new RegExp(regexp);

    if (regObj.test(str)) {

        return true;

    } else {

        return false;

    }

}

10. 检查输入字符串是否只由英文字母、数字和下划线组成

/*

检查输入字符串是否只由英文字母、数字和下划线组成;如:abc123_

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function isLetterNumAnd_(str) {

    var regexp = "^[0-9a-zA-Z\_]+$";

    var regObj = new RegExp(regexp);

    if (regObj.test(str)) {

        return true;

    }else{

        return false;

    }

}

11. 判断是否是日期

/*

判断是否是日期

输入:date 日期;

返回:如果通过验证返回true,否则返回false

*/

function isDate(date) {

    return isDate(date, "yyyy-MM-dd");

}



/*

判断是否是日期

输入:date 日期;fmt 日期格式

返回:如果通过验证返回true,否则返回false

*/

function isDate(date, fmt) { 

    if (fmt == null) fmt = "yyyy-MM-dd"; 

    var yIndex = fmt.indexOf("yyyy"); 

    if(yIndex==-1) return false; 

    var year = date.substring(yIndex, yIndex+4); 

    

    var mIndex = fmt.indexOf("MM"); 

    if(mIndex == -1) return false; 

    var month = date.substring(mIndex, mIndex+2); 

    

    var dIndex = fmt.indexOf("dd"); 

    if(dIndex==-1) return false; 

    var day = date.substring(dIndex, dIndex+2); 

    

    if(!isPositiveInteger(year)||year>"2100" || year<"1900") return false; 

    if(!isPositiveInteger(month)||month>"12" || month<"01") return false; 

    if(day>getMaxDay(year,month) || day<"01") return false; 



    return true; 

} 

12. 取得给定年、月的天数

/*

取得给定年、月的天数

输入: 

year: 年 

month:月

返回:该月天数

*/     

function getMaxDay(year, month) { 

    if(month==4 || month==6 || month==9 || month==11) 

        return "30"; 

    if(month==2) 

        if(year%4==0&&year%100!=0 || year%400==0) 

            return "29"; 

        else 

            return "28"; 

            

    return "31"; 

} 

13. 检查复选框被选中的数目

/*

检查复选框被选中的数目

输入:checkboxID 字符串

返回:返回该复选框中被选中的数目

*/

function checkSelect(checkboxID) {

    var checkedCounter = 0;

    var i = 0;

    if(document.all(checkboxID).length > 0) { 

        for(i=0; i<document.all(checkboxID).length; i++) {

            if(document.all(checkboxID).item(i).checked ) {

                checkedCounter += 1;

            }

        }

    }else{

        if(document.all(checkboxID).checked)

            checkedCounter = 1;

    }

    return checkedCounter;

}

14. 字符串去空格的函数

/*

字符串去空格的函数

输入:

sInputString: 需要去空格的字符串

iType:1=去掉字符串左边的空格、2=去掉字符串右边的空格、0=去掉字符串左边和右边的空格

返回:去掉空格的字符串

*/

function cTrim(sInputString, iType) {

    var sTmpStr = ' ';

    var i = -1;

    if(iType == 0 || iType == 1) {

        while(sTmpStr == ' ') {

            ++i;

            sTmpStr = sInputString.substr(i,1);

        }

        sInputString = sInputString.substring(i);

    }

     

    if(iType == 0 || iType == 2){

        sTmpStr = ' ';

        i = sInputString.length;

        while(sTmpStr == ' ') {

            --i;

            sTmpStr = sInputString.substr(i,1);

        }

        sInputString = sInputString.substring(0,i+1);

    }

    return sInputString;

}

15. 完整代码

JavaScript:表单常用验证脚本(整理)
/*

检查输入字符串是否为空或者全部都是空格

输入:str 输入的字符串

返回:如果全是空返回true;否则返回false

*/

function isNull(str) {

    if (str == "") return true;

    

    var regexp = "^[ ]+$";

    var regObj = new RegExp(regexp);

    return regObj.test(str);

}

 

/*

检查输入对象的值是否符合Email格式;如:[email protected]

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function checkEmail(str) {  

//    var regexp = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/; 

    var regexp = /^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.(?:com|cn)$/;

    return regexp.test(str);

}



/*

检查输入手机号码是否正确;如:13857392812

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function checkMobile(str) {   

    var regexp =/^[1][3][0-9]{9}$/;

    return regexp.test(str);

}



/*

检查输入的电话号码格式是否正确,允许包括区号;如:80827182、010-89187876

输入:strPhone 电话号码格式字符串

返回:如果通过验证返回true;否则返回false

*/

function checkPhone(strPhone) { 

    var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/; 

    var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/; 

    if(strPhone.length > 8) {

        return phoneRegWithArea.test(strPhone);

    }else{

        return phoneRegNoArea.test(strPhone);

    }

}

 

/*

校验ip地址的格式;如:12.32.12.123

输入:strIP ip地址格式字符串

返回:如果通过验证返回true,否则返回false;

*/

function isIP(strIP) { 

    if(isNull(strIP)) return false;

    

    var regexp=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g;

    if(regexp.test(strIP)) {

        if(RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;

    }

    return false; 

} 

 

/*

检查输入对象的值是否符合整数格式;如:123、-324

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function isInteger(str) {  

    var regexp = /^[-]{0,1}[0-9]{1,}$/;

    return regexp.test(str);

}



/*

检查输入字符串是否符合正整数格式;如:123、567

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function isPositiveInteger(str) {   

    var regexp = "^[0-9]+$";

    var regObj = new RegExp(regexp);

    if (str.search(regObj) != -1) {

        return true;

    } else {

        return false;

    }

}

 

/*

检查输入字符串是否是带小数的数字格式,可以是负数;如:123.3456、-454.212344

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function isDecimal(str) {   

    if(isInteger(str)) return true;

    var regexp = /^[-]{0,1}(\d+)[\.]+(\d+)$/;

    if (regexp.test(str)) {

        if(RegExp.$1==0&&RegExp.$2==0) return false;

        return true;

    } else {

        return false;

    }

}

 

/*

检查输入字符串是否符合金额格式,不可以是负数;如:123.45、456.233

格式定义为带小数的正数,小数点后最多三位

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function isMoney(str) {   

    var regexp = "^[0-9]+[\.][0-9]{0,3}$";

    var regObj = new RegExp(regexp);

    if (regObj.test(str)) {

        return true;

    } else {

        return false;

    }

}



/*

检查输入字符串是否只由英文字母、数字和下划线组成;如:abc123_

输入:str 输入的字符串

返回:如果通过验证返回true;否则返回false

*/

function isLetterNumAnd_(str) {

    var regexp = "^[0-9a-zA-Z\_]+$";

    var regObj = new RegExp(regexp);

    if (regObj.test(str)) {

        return true;

    }else{

        return false;

    }

}



/*

判断是否是日期

输入:date 日期;

返回:如果通过验证返回true,否则返回false

*/

function isDate(date) {

    return isDate(date, "yyyy-MM-dd");

}



/*

判断是否是日期

输入:date 日期;fmt 日期格式

返回:如果通过验证返回true,否则返回false

*/

function isDate(date, fmt) { 

    if (fmt == null) fmt = "yyyy-MM-dd"; 

    var yIndex = fmt.indexOf("yyyy"); 

    if(yIndex==-1) return false; 

    var year = date.substring(yIndex, yIndex+4); 

    

    var mIndex = fmt.indexOf("MM"); 

    if(mIndex == -1) return false; 

    var month = date.substring(mIndex, mIndex+2); 

    

    var dIndex = fmt.indexOf("dd"); 

    if(dIndex==-1) return false; 

    var day = date.substring(dIndex, dIndex+2); 

    

    if(!isPositiveInteger(year)||year>"2100" || year<"1900") return false; 

    if(!isPositiveInteger(month)||month>"12" || month<"01") return false; 

    if(day>getMaxDay(year,month) || day<"01") return false; 



    return true; 

} 



/*

取得给定年、月的天数

输入: 

year: 年 

month:月

返回:该月天数

*/     

function getMaxDay(year, month) { 

    if(month==4 || month==6 || month==9 || month==11) 

        return "30"; 

    if(month==2) 

        if(year%4==0&&year%100!=0 || year%400==0) 

            return "29"; 

        else 

            return "28"; 

            

    return "31"; 

} 

 

/*

检查复选框被选中的数目

输入:checkboxID 字符串

返回:返回该复选框中被选中的数目

*/

function checkSelect(checkboxID) {

    var checkedCounter = 0;

    var i = 0;

    if(document.all(checkboxID).length > 0) { 

        for(i=0; i<document.all(checkboxID).length; i++) {

            if(document.all(checkboxID).item(i).checked ) {

                checkedCounter += 1;

            }

        }

    }else{

        if(document.all(checkboxID).checked)

            checkedCounter = 1;

    }

    return checkedCounter;

}

 

/*

字符串去空格的函数

输入:

sInputString: 需要去空格的字符串

iType:1=去掉字符串左边的空格、2=去掉字符串右边的空格、0=去掉字符串左边和右边的空格

返回:去掉空格的字符串

*/

function cTrim(sInputString, iType) {

    var sTmpStr = ' ';

    var i = -1;

    if(iType == 0 || iType == 1) {

        while(sTmpStr == ' ') {

            ++i;

            sTmpStr = sInputString.substr(i,1);

        }

        sInputString = sInputString.substring(i);

    }

     

    if(iType == 0 || iType == 2){

        sTmpStr = ' ';

        i = sInputString.length;

        while(sTmpStr == ' ') {

            --i;

            sTmpStr = sInputString.substr(i,1);

        }

        sInputString = sInputString.substring(0,i+1);

    }

    return sInputString;

}
View Code


 

你可能感兴趣的:(JavaScript)