600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 如何使用正则表达式和javascript对表单进行全面验证

如何使用正则表达式和javascript对表单进行全面验证

时间:2019-02-07 22:39:53

相关推荐

如何使用正则表达式和javascript对表单进行全面验证

web前端|js教程

javascript,正则表达式

web前端-js教程

使用时请将下面的javascript代码存到一个单一的js文件中。

1、表单要求

csharp 微信源码,ubuntu提取显卡,tomcat看版本号,爬虫出现11001,php地址栏传参,口碑好的seo优化售后服务lzw

将对表单中的所有以下类型的域依次验证,所有验证是去除了前导和后缀空格的,要注意是区分大小写的。

2、空值验证

表单中任意域加上emptyInfo属性将对此域是否为空进行验证(可以和最大长度验证\一般验证方式同时使用)。

无此属性视为此域允许空值。

如:

3、最大长度验证(可以和空值验证、一般验证方式同时使用):

或,

3、一般验证方式(不对空值做验证):

如:

4、标准验证(不与其它验证方式同时使用):

全部通过来实现,并且不需要name属性以免提交到服务器。

4.1、合法日期验证:

吉祥免源码,web快速入门vscode,ubuntu 磁盘 容错,tomcat的传输协议,SQLite修改后怎么保存,如何用爬虫抓取饿了么外卖数据,ssi php,热门seo优化加盟平台,搭建本地视频网站,dede 搜索模板lzw

注:这里也可以是,以下同

yearfieldName、monthfieldName、dayfieldName分别为年月日字段,月和日可以是两位(MM)或一位格式(M),

此处不对每个字段分别检验(如果要检验,请在年月日三个域分别使用前面的一般验证方式),只对日期的最大值是否合法检查;

4.2、日期格式验证(请注意,此验证不对日期是否有效进行验证,还未找到从格式中得到年月日数据的方法^_^):

asp在线源码查看器,ubuntu 网关配置命令,tomcat 一键运行,python爬虫 技术,php运行效果,微信小程序seo 霸屏推广lzw

其中格式仅对y、M、d、H、m、s进行支持(其它字符视为非时间的字符)

4.3、列表验证:

检验列表(checkbox、redio、select)是否至少选中了一条记录(对select主要用于多项选择)

其中validatorType可以是Checkbox、R、Select;

对于一个select表单,如果要求选择一条不能是第一条的记录,请用下列方式:

==请选择==1

4.4、Email验证:

其中separator为可选项,表示输入多个email时的分隔符(无此选项只能是一个地址)

4.5、加入其它javascript操作:

function functionname(){自定义方法}表单中加入(此时emptyInfo等属性无效)时将调用function属性中指定的javascript方法(要求方法返回true或false,返回false将不再验证表单,也不提交表单)。5、在表单通过验证提交前disable一个按钮(也可将其它域disable,不能与其它验证同在一个域),不要求按钮是表单中的最后一个6、不验证表单当validator域值为0时不对表单进行验证,直接提交表单或执行指定function并返回true后提交表单functionName为可选-->function getStringLength(str){var endvalue=0;var sourcestr=new String(str);var tempstr;for (var strposition = 0; strposition 255 || tempstr.charCodeAt(0)<0) {endvalue=endvalue+2;} else {endvalue=endvalue+1;}}return(endvalue);}function trim(str){if(str==null) return "";if(str.length==0) return "";var i=0,j=str.length-1,c;for(;i-1;j--){c=str.charAt(j);if(c!= ) break;}if(i>j) return "";return str.substring(i,j+1);}function validateDate(date,format,alt){var time=trim(date.value);if(time=="") return;var reg=format;var reg=reg.replace(/yyyy/,"[0-9]{4}");var reg=reg.replace(/yy/,"[0-9]{2}");var reg=reg.replace(/MM/,"((0[1-9])|1[0-2])");var reg=reg.replace(/M/,"(([1-9])|1[0-2])");var reg=reg.replace(/dd/,"((0[1-9])|([1-2][0-9])|30|31)");var reg=reg.replace(/d/,"([1-9]|[1-2][0-9]|30|31))");var reg=reg.replace(/HH/,"(([0-1][0-9])|20|21|22|23)");var reg=reg.replace(/H/,"([0-9]|1[0-9]|20|21|22|23)");var reg=reg.replace(/mm/,"([0-5][0-9])");var reg=reg.replace(/m/,"([0-9]|([1-5][0-9]))");var reg=reg.replace(/ss/,"([0-5][0-9])");var reg=reg.replace(/s/,"([0-9]|([1-5][0-9]))");reg=new RegExp("^"+reg+"$");if(reg.test(time)==false){//验证格式是否合法alert(alt);date.focus();return false;}return true;}function validateDateGroup(year,month,day,alt){var array=new Array(31,28,31,30,31,30,31,31,30,31,30,31);var y=parseInt(year.value);var m=parseInt(month.value);var d=parseInt(day.value);var maxday=array[m-1];if(m==2){if((y%4==0&&y%100!=0)||y%400==0){maxday=29;}}if(d>maxday){alert(alt);return false;}return true;}function validateCheckbox(obj,alt){var rs=false;if(obj!=null){if(obj.length==null){return obj.checked;}for(i=0;i<obj.length;i++){if(obj[i].checked==true){return true;}}}alert(alt);return rs;}function validateRadio(obj,alt){var rs=false;if(obj!=null){if(obj.length==null){return obj.checked;}for(i=0;i<obj.length;i++){if(obj[i].checked==true){return true;}}}alert(alt);return rs;}function validateSelect(obj,alt){var rs=false;if(obj!=null){for(i=0;i<obj.options.length;i++){if(obj.options[i].selected==true){return true;}}}alert(alt);return rs;}function validateEmail(email,alt,separator){var mail=trim(email.value);if(mail=="") return;var em;var myReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;if(separator==null){if(myReg.test(email.value)==false){alert(alt);email.focus();return false;}}else{em=email.value.split(separator);for(i=0;i0&&myReg.test(em[i])==false){alert(alt);email.focus();return false;}}}return true;}function validateForm(theForm){// 若验证通过则返回truevar disableList=new Array();var field = theForm.elements; // 将表单中的所有元素放入数组for(var i = 0; i field[i].maxLength){alert(lengthInfo);field[i].focus();return false;}var validatorType=field[i].validatorType;if(validatorType!=null){//其它javascriptvar rs=true;if(validatorType=="javascript"){eval("rs="+field[i].functionName+"()");if(rs==false){return false;}else{continue;}}else if(validatorType=="disable"){//提交表单前disable的按钮disableList.length++;disableList[disableList.length-1]=field[i];continue;}else if(validatorType=="Date"){rs=validateDate(theForm.elements(field[i].fieldName),field[i].format,field[i].errorInfo);}else if(validatorType=="DateGroup"){rs=validateDateGroup(theForm.elements(field[i].year),theForm.elements(field[i].month),theForm.elements(field[i].day),field[i].errorInfo);}else if(validatorType=="Checkbox"){rs=validateCheckbox(theForm.elements(field[i].fieldName),field[i].errorInfo);}else if(validatorType=="Radio"){rs=validateRadio(theForm.elements(field[i].fieldName),field[i].errorInfo);}else if(validatorType=="Select"){rs=validateSelect(theForm.elements(field[i].fieldName),field[i].errorInfo);}else if(validatorType=="Email"){rs=validateEmail(theForm.elements(field[i].fieldName),field[i].errorInfo);}else{alert("验证类型不被支持, fieldName: "+field[i].name);return false;}if(rs==false){return false;}}else{//一般验证if(empty==false){var v = field[i].validator; // 获取其validator属性if(!v) continue; // 如果该属性不存在,忽略当前元素var reg=new RegExp(v);if(reg.test(field[i].value)==false){alert(field[i].errorInfo);field[i].focus();return false;}}}}for(i=0;i<disableList.length;i++){disableList[i].disabled=true;}return true;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。