日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

用正則表達式和javascript對表單進行全面驗證

瀏覽:17日期:2023-06-25 14:16:21

使用時請將下面的javascript代碼存到一個單一的js文件中。1、表單要求<form name='formname' onSubmit='return validateForm(this)'></form>將對表單中的所有以下類型的域依次驗證,所有驗證是去除了前導和后綴空格的,要注意是區分大小寫的。2、空值驗證表單中任意域加上emptyInfo屬性將對此域是否為空進行驗證(可以和最大長度驗證一般驗證方式同時使用)。無此屬性視為此域允許空值。如:<input type='text' name='fieldNamename' emptyInfo='字段不能為空!'>3、最大長度驗證(可以和空值驗證、一般驗證方式同時使用):<input type='text' name='fieldNamename' maxlength='20' lengthInfo='最大長度不能超過20!'>或,<textarea maxlength='2000' lengthInfo='最大長度不能超過2000!'>3、一般驗證方式(不對空值做驗證):如:<input type='text' validator='^(19|20)[0-9]{2}$' errorInfo='不正確的年份!' >4、標準驗證(不與其它驗證方式同時使用):全部通過<input type='hidden'>來實現,并且不需要name屬性以免提交到服務器。4.1、合法日期驗證:<input type='text' name='yearfieldName' value='2004'>注:這里也可以是<select name='yearfieldName'></select>,以下同<input type='text' name='monthfieldName' value='02'><input type='text' name='dayfieldName' value='03'><input type='hidden' validatorType='DateGroup' year='yearfieldName' month='monthfieldName' day='dayfieldName' errorInfo='不正確的日期!'>yearfieldName、monthfieldName、dayfieldName分別為年月日字段,月和日可以是兩位(MM)或一位格式(M),此處不對每個字段分別檢驗(如果要檢驗,請在年月日三個域分別使用前面的一般驗證方式),只對日期的最大值是否合法檢查;4.2、日期格式驗證(請注意,此驗證不對日期是否有效進行驗證,還未找到從格式中得到年月日數據的方法^_^):<input type='text' name='datefieldName' value='2003-01-03 21:31:00'><input type='hidden' validatorType='Date' fieldName='datefieldName'; format='yyyy-MM-dd HH:mm:ss' errorInfo='不正確的日期!'>其中格式僅對y、M、d、H、m、s進行支持(其它字符視為非時間的字符)4.3、列表驗證:檢驗列表(checkbox、redio、select)是否至少選中了一條記錄(對select主要用于多項選擇)<input type='checkbox' name='checkbox1'><input type='hidden' validatorType='Checkbox' fieldName='checkbox1' errorInfo='請至少選中一條記錄!'>其中validatorType可以是Checkbox、R、Select;對于一個select表單,如果要求選擇一條不能是第一條的記錄,請用下列方式:<select name='select1' emptyInfo='請選擇一個選項!'><option value=''>==請選擇==</option><option value='1'>1</option><select>4.4、Email驗證:<input type='text' name='email'><input type='hidden' fieldName='email' validatorType='Email' separator=',' errorInfo='不正確的Email!'>其中separator為可選項,表示輸入多個email時的分隔符(無此選項只能是一個地址)4.5、加入其它javascript操作:<script type='text/javascript'>function functionname(){自定義方法}</script>表單中加入<input type='hidden' validatorType='javascript' functionName='functionname'>(此時emptyInfo等屬性無效)時將調用function屬性中指定的javascript方法(要求方法返回true或false,返回false將不再驗證表單,也不提交表單)。5、在表單通過驗證提交前disable一個按鈕(也可將其它域disable,不能與其它驗證同在一個域),不要求按鈕是表單中的最后一個<input type='button' name='提交' validatorType='disable'>6、不驗證表單<input type='hidden' name='validate' value='0' functionName='functionname'>當validator域值為0時不對表單進行驗證,直接提交表單或執行指定function并返回true后提交表單functionName為可選

--><script type='text/javascript'>function getStringLength(str){var endvalue=0;var sourcestr=new String(str);var tempstr;for (var strposition = 0; strposition < sourcestr.length; strposition ++) {tempstr=sourcestr.charAt(strposition);if (tempstr.charCodeAt(0)>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<str.length;i++){c=str.charAt(i);if(c!=’ ’) break;}for(;j>-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;i<em.length;i++){em[i]=em[i].trim();if(em[i].length>0&&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.length; i++){var vali=theForm.validate;if(vali!=null){if(vali.value=='0'){var fun=vali.functionName;if(fun!=null){return eval(fun+'()');}else{return true;}}}

var empty=false;var value=trim(field[i].value);if(value.length==0){//是否空值empty=true;}var emptyInfo=field[i].emptyInfo;//空值驗證if(emptyInfo!=null&&empty==true){alert(emptyInfo);field[i].focus();return false;}var lengthInfo=field[i].lengthInfo;//最大長度驗證if(lengthInfo!=null&&getStringLength(value)>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;}</script>

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91精品丝袜国产高跟在线| 亚洲一级影院| 黑丝一区二区| 免费精品一区| 亚洲精品大全| 亚洲主播在线| 亚洲福利免费| 精品久久一区| 成人在线视频区| 国产精品sm| 国产成人精品一区二区三区在线| 国产精品自拍区| 日本欧美一区| 少妇高潮一区二区三区99| 蜜桃视频在线网站| 精品资源在线| 中文字幕在线看片| 精品一区二区三区的国产在线观看| 国产福利亚洲| 久久久久伊人| 免费日韩一区二区三区| 国产不卡精品| 成人在线免费观看91| 亚洲国产福利| 在线天堂中文资源最新版| 麻豆国产精品777777在线| 欧美国产一级| 成人日韩在线观看| 午夜亚洲一区| 国产精品色网| 亚洲伊人精品酒店| 欧美在线观看天堂一区二区三区| 日韩一区二区三区精品视频第3页 日韩一区二区三区免费视频 | av亚洲在线观看| 日韩午夜高潮| 亚洲欧美日韩国产| 热久久久久久| 精品香蕉视频| 色网在线免费观看| 夜夜嗨av一区二区三区网站四季av| 亚洲欧洲日本mm| 日本不卡高清视频| 午夜视频一区二区在线观看| 亚洲精品无播放器在线播放| 欧美精品成人| 亚洲精品永久免费视频| 在线视频观看日韩| 亚洲一区日本| 亚洲欧美日本日韩| 欧美一区成人| 精品国产91| 99久久久久| 快she精品国产999| 国产日韩1区| 久久要要av| 亚洲精品日韩久久| 97精品国产| 久久精品亚洲人成影院| 青草久久视频| 热三久草你在线| 欧美xxxx中国| 中文字幕日本一区二区| 欧美日一区二区三区在线观看国产免| 国内精品伊人| 亚洲黄页一区| 你懂的网址国产 欧美| 日韩av免费| 一区二区三区网站| 天堂av在线| 亚洲午夜国产成人| 日韩电影免费网址| 鲁大师成人一区二区三区| 亚洲综合福利| 日韩理论视频| 一本综合精品| 久久国产小视频| 日韩激情av在线| 在线视频观看日韩| 国产亚洲高清一区| 99视频精品全部免费在线视频| 国产精品视频一区视频二区| 欧美肉体xxxx裸体137大胆| 国产精品igao视频网网址不卡日韩| 日本美女一区| 欧美成人精品午夜一区二区| 99久久视频| 国产极品嫩模在线观看91精品| 亚洲精品888| 免费日韩成人| 日韩美女精品| 欧美在线观看视频一区| 欧美激情精品| 免费在线观看一区二区三区| 国产成人精品一区二区免费看京 | 五月天综合网站| 国产精品极品国产中出| 欧美不卡高清| 精品国产免费人成网站| 日本不卡一区二区| 亚洲一区二区免费看| 国产一区二区三区天码| 一区二区国产在线| 日韩一级网站| 一区二区精品伦理...| 欧美日韩1区| 亚洲制服少妇| 日韩中文在线播放| 久久精品免视看国产成人| 男女精品网站| 久久久人人人| 欧美激情91| 99久久激情| 精品成人免费一区二区在线播放| 国产精品扒开腿做爽爽爽软件| 蜜臀精品一区二区三区在线观看| www.九色在线| 高清在线一区| 久久国产生活片100| 日本亚洲三级在线| 亚洲主播在线| 欧洲激情综合| 亚洲免费激情| 久久免费国产| 久久一级电影| 国产超碰精品| 久久久久国产精品一区三寸| 久久久久久网| 中文字幕高清在线播放| 里番精品3d一二三区| 久久av国产紧身裤| 日韩午夜视频在线| 欧美+日本+国产+在线a∨观看| 久久精品亚洲人成影院| 国产精品精品国产一区二区| 成人国产精品久久| 免费在线观看一区| 国产一区二区三区国产精品 | 欧美日韩一区二区综合| 香蕉久久99| 久久久天天操| 女主播福利一区| 欧美亚洲精品在线| 怡红院精品视频在线观看极品| 福利精品在线| 四虎884aa成人精品最新| 伊人久久国产| 麻豆视频在线观看免费网站黄 | 噜噜噜久久亚洲精品国产品小说| 日韩在线一区二区| 久久最新视频| 欧美午夜网站| 久久激情五月婷婷| 国产剧情在线观看一区| 精品一区二区男人吃奶| 蜜桃精品视频| 国产+成+人+亚洲欧洲在线| 精品一区二区三区视频在线播放| av免费不卡国产观看| 日韩中文首页| 鲁大师成人一区二区三区| 热久久免费视频| 美女国产精品| 国产三级精品三级在线观看国产| 青青草国产精品亚洲专区无| 国际精品欧美精品| 四虎影视精品| 综合亚洲视频| 国产乱子精品一区二区在线观看| 色欧美自拍视频| 91精品久久久久久久久久不卡| 亚洲调教视频在线观看| 午夜日韩av| 欧美日韩视频一区二区三区| 亚洲欧美日韩国产一区| 日韩在线网址| 中文字幕成在线观看| 欧美福利在线| 欧美日韩精品一区二区三区视频 | 久久天堂av| 亚洲作爱视频| 免费一级欧美在线观看视频| 国产中文在线播放| av最新在线| 日韩精品一二三区| 欧美日本不卡| 香蕉成人av| 热久久久久久久| 精品欧美视频| 伊人精品一区| 国产欧美二区| 欧美激情另类| 日韩精品一二三| 日韩欧美一区二区三区在线视频| 国产高清久久| 久久在线电影| 国产午夜精品一区二区三区欧美 | 亚洲精品免费观看| 在线日韩av| 三级小说欧洲区亚洲区| 精品国产亚洲一区二区三区大结局|