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;
}

优质内容筛选与推荐>>
1、竞争和分享,马云的一枚硬币(摘自网络)
2、Wish your body is good!
3、absolute fixed效果 复制网页打开就是代码 http://www.cnblogs.com/0banana0/archive/2011/05/25/2056643.html
4、ZOJ-1586QS Network(prim)
5、女人真麻烦


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号