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格式;如:zhangshan@sina.com
输入: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. 完整代码

/*
检查输入字符串是否为空或者全部都是空格
输入:str 输入的字符串
返回:如果全是空返回true;否则返回false
*/
function isNull(str) {
    if (str == "") return true;
    
    var regexp = "^[ ]+$";
    var regObj = new RegExp(regexp);
    return regObj.test(str);
}
 
/*
检查输入对象的值是否符合Email格式;如:zhangshan@sina.com
输入: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


 

posted @ 2013-09-03 13:54  那些年的事儿  阅读(514)  评论(0编辑  收藏  举报