JS表单验证方法实例小结【电话,身份证号,邮件,中文,特殊字符,身份证号等】

  

本文实例总结了JS表单验证方法。分享给大家供大家参考,具体如下:

  

回回写表单,回回要写不同的检查JS,很麻烦,后来写了通用的检查函数,很粗的糙,但比较实用,以后再好好改改:

  

包含页:Check-Form.js

  

代码如下:

     //规则检查排序   函数RegCheck (obj)   {   var str=objs.checktype;   开关(str)   {   例“cn”://要检查的表单控件的输入类型必须为中文   返回CnWordRegCheck (obj);   打破;   例“idnum”:   返回IdCardRegCheck (obj);//要检查的表单控件的输入类型必须为身份证号   打破;   例“num”://要检查的表单控件的输入类型必须为数字   返回NumRegCheck (obj);   打破;   “邮件”://要检查的表单控件的输入类型必须为电子邮件   返回EmailRegCheck (obj);   打破;   例“三种”://要检查的表单控件的输入类型必须为字符串   返回SpecialWordRegCheck (obj);   打破;   例“笔记”:   返回true;//要检查的表单控件的输入类型必须为什么都可以   打破;   }   }//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *//检查电话号码   函数NumRegCheck (obj)   {   var uplimit=obj.checkrule.split (", ") [0];   var downlimit=obj.checkrule.split (", ") [1];   var reg=" ";   如果(downlimit==null)   {   reg=eval_r ("/^ [0 - 9] {+ uplimit +”} $/");   }   其他的   {   reg=eval_r ("/^ [0 - 9] {“+ uplimit +”、“+ downlimit +”} $/");   }   var str=obj.value;   var=reg.test旗帜(str);   返回国旗;   }//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *//检查身份证号   函数IdCardRegCheck (obj)   {   var str=obj.value;   var reg=/^ ([0 - 9] {15} | [0 - 9] {18}) $/;   var=reg.test旗帜(str);   返回国旗;   }//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *//检查邮件   函数EmailRegCheck (obj)   {   var str=obj.value;   [var reg=/^ (- za - z0 - 9 _ -]) + @ ([a-zA-Z0-9_ -]) + ((\ [a-zA-Z0-9_ -] {2,3}) {1,2}) $/;   var=reg.test旗帜(str);   返回国旗;   }//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *//检查中文输入   函数CnWordRegCheck (obj)   {   var str=obj.value;   var reg=/^ [\ u4e00 - \ u9fa5] (\ s * [\ u4e00 - \ u9fa5]) * $/;   var=reg.test旗帜(str);//警报(国旗);   返回国旗;   }//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *//检查特殊字符   函数SpecialWordRegCheck (obj)   {   var reg=/((\/) (& lt;)(在)]/g“祝辞\ \)()()(& lt;)(在)]/g;   var str=obj.value;   var=reg.test旗帜(str);   国旗=!国旗;   返回国旗;   }//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *//检查主引导函数   函数CheckForm (obj)   {   var myform=eval_r(“文档”。+ obj.name);   (i=0; i< myform.elements.length;我+ +)   {   var formvalue=https://www.yisu.com/zixun/myform.elements[我]。value;//内容非空检查,长度检查   如果(myform.elements[我]。值==" ")| | (myform.elements[我].value.length> myform.elements[我].maxlength))   {   alert("您忘了填写“+ myform.elements[我].cnname +“!”+“或者您填写的信息不符合规范!”);   myform.elements[我].focus ();   返回错误;   打破;   }   如果(myform.elements[我]。值=https://www.yisu.com/zixun/=0)   {   alert("您忘了选择“+ myform.elements[我].cnname +“!”);   myform.elements[我].focus ();   返回错误;   打破;   }//数据规范化检查   var myobj=myform.elements[我];//警报(myobj.checktype);//中断;   如果(! RegCheck (myobj))   {   警报(myobj.cnname +“输入有误,请按填写要求填写!”);   myobj.focus ();   返回错误;   打破;   }   }   }      之前      

附:js身份证号码严格验证

        & lt; script>   函数checkIdcard(经办人身份证){   var=new Array(错误   “验证通过!”   “身份证号码位数不对!”,   “身份证号码出生日期超出范围或含有非法字符!”,   “身份证号码校验错误!”,   “身份证地区非法!”   );   var面积={11:“北京”,12:“天津”,13:“河北”,14:“山西”,15:“内蒙古”,21:“辽宁”,22日:“吉林”,23:“黑龙江”,31日:“上海”,32:“江苏”,33:“浙江”,34:“安徽”,35:“福建”,36:“江西”,37:“山东”,41:“河南”,42:“湖北”,43:“湖南”,44:“广东”,45:“广西”,46:“海南”,50岁:“重庆”,51:“四川”,52:“贵州”,53:“云南”,54:“西藏”,61:“陕西”,62:“甘肃”,63:“青海”,64:“宁夏”,65:“新疆”,71:“台湾”,81:“香港”,82:“澳门”,91年“国外”}   var经办人身份证,Y, JYM;   var S, M;   var idcard_array=new Array ();   idcard_array=idcard.split (" ");//地区检验   如果(区域[方法(idcard.substr (0, 2)))==null)返回错误[4];//身份号码位数及格式检验   开关(idcard.length) {   例15:   如果((方法(idcard.substr(2)) + 1900) % 4==0 | |((方法(idcard.substr (6 2)) + 1900) % 100==0,,2)(方法(idcard.substr(6日)+ 1900)% 4==0)){   ereg=/^[1 - 9][0 - 9]{5}[0 - 9]{2}(08年(07年03号| 05 | | | | | 10 12)(0(1 - 9)|[1 - 2][0 - 9]| 3(0 - 1))|(04 | 06 | 09年| 11)(0(1 - 9)|[1 - 2][0 - 9]| 30)| 02(0(1 - 9)|[1 - 2][0 - 9]))[0 - 9]{3}$/;//测试出生日期的合法性   其他}{   ereg=/^[1 - 9][0 - 9]{5}[0 - 9]{2}(08年(07年03号| 05 | | | | | 10 12)(0(1 - 9)|[1 - 2][0 - 9]| 3(0 - 1))|(04 | 06 | 09年| 11)(0(1 - 9)|[1 - 2][0 - 9]| 30)| 02(0[1 - 9][0 - 9]| 1 | 2(主)))[0 - 9]{3}$/;//测试出生日期的合法性   }   如果(ereg.test(经办人身份证))返回错误[0];   否则返回错误[2];   打破;   例18://18位身份号码检测//出生日期的合法性检查//闰年月日:((03号| | 5 | 07 08年| | | 12)10(0(1 - 9)|[1 - 2][0 - 9]| 3(0 - 1))|(04 | 06 | 09年| 11)(0 (1 - 9)| [1 - 2][0 - 9]| 30)| 02 (0 (1 - 9)| [1 - 2][0 - 9]))//平年月日:((03号| | 5 | 07 08年| | | 12)10(0(1 - 9)|[1 - 2][0 - 9]| 3(0 - 1))|(04 | 06 | 09年| 11)(0(1 - 9)|[1 - 2][0 - 9]| 30)| 02(0[1 - 9][0 - 9]| 1 | 2(主)))   4)如果(方法(idcard.substr(6日)% 4==0 | |(方法(idcard.substr (6, 4) % 100==0,,4)方法(idcard.substr (6) % 4==0)) {   ereg=/^[1 - 9][0 - 9]{5} 19[0 - 9]{2}(08年(07年03号| 05 | | | | | 10 12)(0(1 - 9)|[1 - 2][0 - 9]| 3(0 - 1))|(04 | 06 | 09年| 11)(0 (1 - 9)| [1 - 2][0 - 9]| 30)| 02 (0 (1 - 9)| [1 - 2][0 - 9]))[0 - 9]{3}(0-9Xx)/美元;//闰年出生日期的合法性正则表达式   其他}{   ereg=/^[1 - 9][0 - 9]{5} 19[0 - 9]{2}(08年(07年03号| 05 | | | | | 10 12)(0(1 - 9)|[1 - 2][0 - 9]| 3(0 - 1))|(04 | 06 | 09年| 11)(0(1 - 9)|[1 - 2][0 - 9]| 30)| 02(0[1 - 9][0 - 9]| 1 | 2(主)))[0 - 9]{3}(0-9Xx)/美元;//平年出生日期的合法性正则表达式   }   如果(ereg.test(经办人身份证)){//测试出生日期的合法性//计算校验位   S=(方法(idcard_array[0]) +方法(idcard_array [10])) * 7   +(方法(idcard_array[1]) +方法(idcard_array [11])) * 9   +(方法(idcard_array[2]) +方法(idcard_array [12])) * 10   +(方法(idcard_array[3]) +方法(idcard_array [13])) * 5   +(方法(idcard_array[4]) +方法(idcard_array [14])) * 8   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

JS表单验证方法实例小结【电话,身份证号,邮件,中文,特殊字符,身份证号等】