js 表单验证大全


/*
                                            
               
//1.验证电子邮件地址函数
//2.验证日期合法性
//3.去掉字符串首尾的空格
//4.验证是否汉字
//5.验证是否英文
//6.验证是否数字
//7.验证ip地址的格式
//8.验证是否是空字符串
//9.验证是否是整数
//10.验证是否是小数
//11.验证手机号码
//12.验证电话号码
//13.验证网络端口号
//14.验证日期合法性
//15.验证字符串1是否以字符串2开始
//16.验证字符串1是否以字符串2结束
//17.验证字符串1是否包含字符串2
*/
//1====验证电子邮件地址iaValidEmail===================================================
//参数:sText : string类型 
//       格式 : "myoneray@gmail.com"
//返回值:0|1
function iaValidEmail(sText){
    //var reEmail = /^(?:\w+\.?)*\w+@(?:\w+\.?)*\w+$/;
    var reEmail = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    return reEmail.test(sText);
}

//2====日期合法性验证stringToDate===============================================
//参数:sDate:日期字符串
//       格式: YYYY/MM/DD  YYYY-MM-DD
//返回值:0:不合法 或 1:合法
//备注
function isValidDate(sDate){
    sDate = trim(sDate);//去掉sDate两边的空格;
    if(sDate == ""){return false;}
    var reDate = /^[1-9]([\d]{1,3})(-|\/)(0?[1-9]|1[0-2])(-|\/)(0?[1-9]|[12][0-9]|3[01])$/g;
    return reDate.test(sDate);                          
}

//3====去掉字符串首尾的空格trim===============================================
//参数
//返回值:日期类型
//备注
function trim(str){
    var reExtraSpace = /^\s*(.*?)\s*$/;
    return str.replace(reExtraSpace,"$1");
}
//4====验证是否汉字isValidChinese===============================================
//参数
//返回值:
//备注
function isValidChinese(str){
    var re = /^[\u4E00-\u9FFF\w]+$/;
    return re.test(str);
}

//5====验证是否英文isValidEnglish===============================================
//参数
//返回值:
//备注
function isValidEnglish(str){
    var re = /^([a-z]|[A-Z])+$/;
    return re.test(str);
}
//6====验证是否数字isValidNumber===============================================
//参数
//返回值:
//备注
function isValidNumber(str){
    var re = /^\d+$/;
    return re.test(str);
}
//7====验证ip地址的格式isIp===============================================
//参数  :  sIp  (ip地址字符串) 125.0.0.156
//返回值:0|1
//备注  :判断是否是255以内的数字、是否是不超过三个字符的一个点。
function isIp(sIp){
    var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g;
    if(re.test(sIp)){
        if(RegExp.$1<256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256){
            return true;
        }
    }
    return false;
}
//8====验证是否是空字符串isNull===============================================
//参数  :str 字符串
//返回值:
//备注 空白字符:[ \t\n\x0B\f\r]
function isNull(str){
    var re = /^\s*$/;
    return re.test(str);
}
//9====验证是否是整数isInteger===============================================
//参数  :intStr 字符串
//返回值:0|1
//备注
function isInteger(intStr){
    var re = /^(\-?[1-9]+\d*)$|(^0$)/;
    return re.test(intStr);
}
//10====验证是否是小数isDecimal===============================================
//参数  :intStr 字符串
//返回值:0|1
//备注
function isDecimal(intStr){
    //var re = /^\-?\d+\.\d+$/;
    var re = /^(\-?[1-9]+\.\d+)$|(^\-?0\.\d*$)/;
    return re.test(intStr);
}
//11====验证手机号码checkMobile===============================================
//参数  :intStr 字符串
//返回值:0|1
//备注 验证13系列和150-159(154 除外)、180 、185-189 这几种11位数的手机号码
function checkMobile(str){
    var re = /^1((3\d)|(5[0-35-9])|(8[05-9]))\d{8}$/;
    return re.test(str);
}

//12====验证电话号码checkPhone===============================================
//参数  :sPhone 字符串
//返回值:0|1
//备注
function checkPhone(sPhone){
    var reWithArea = /^0[1-9]{2,3}(\-)?\d{5,10}$/;
    var reNoArea = /^[1-9]{1}\d{5,8}$/;
    if(sPhone.length>9){
        return reWithArea.test(sPhone);
    }else{
        return reNoArea.test(sPhone);
    }
   
}

//13====验证网络端口号isPort===============================================
//参数  :str 字符串
//返回值:0|1
//备注
function isPort(str){
    var reNum=/^\d+$/;
    return reNum.test(str) && str<65536;
}

//13====验证是否是金额isMoney===============================================
//参数  :str 字符串
//返回值:0|1
//备注
function isMoney(str){
    var reNum=/^\d+(\.\d{2})?$/;
    return reNum.test(str);
}

//14====验证日期合法性stringToDate===============================================
//参数:sDate:日期字符串
//       格式: YYYY/MM/DD  YYYY-MM-DD
//返回值:0:不合法 或 1:合法
//备注
function isValidDate(sDate){
    sDate = trim(sDate);//去掉sDate两边的空格;
    if(sDate == ""){return false;}
    var reDate = /^[1-9]([\d]{1,3})(-|\/)(0?[1-9]|1[0-2])(-|\/)(0?[1-9]|[12][0-9]|3[01])$/g;
    return reDate.test(sDate);                          
}
//15====验证字符串1是否以字符串2开始isFirstMatch===============================================
//参数  :str2 字符串  str2 被包含的字符串
//返回值:0|1
//备注
function isFirstMatch(str1,str2){
    var index=str1.indexOf(str2);
    if(index==0){
        return true;
    }
    return false;
}
//16====验证字符串1是否以字符串2结束isLastMatch===============================================
//参数  :str2 字符串  str2 被包含的字符串
//返回值:0|1
//备注
function isLastMatch(str1,str2){
    var index=str1.lastIndexOf(str2);
    if(str1.length == index+str2.length){
        return true;
    }
    return false;
}
//17====验证字符串1是否包含字符串2 isMatch===============================================
//参数  :str2 字符串  str2 被包含的字符串
//返回值:0|1
//备注
function isMatch(str1,str2){
    var index=str1.indexOf(str2);
    if(index==-1){
        return false;
    }
    return true;
}

posted @ 2013-09-12 12:15  针尖对麦芒  阅读(257)  评论(0编辑  收藏  举报