亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jquery插件validation實現驗證身份證號等

2019-11-20 12:21:42
字體:
來源:轉載
供稿:網友

先推薦一個基于bootstrap的jQuery validation插件:http://thrilleratplay.github.io/jquery-validation-bootstrap-tooltip/

jQuery validation添加驗證規則

validata.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><!-- TemplateBeginEditable name="doctitle" --><title>無標題文檔</title><script src="lib/jquery.js" type="text/javascript"></script><script src="lib/jquery.validate.js" type="text/javascript"></script><script src="lib/card.js" type="text/javascript"></script><script src="lib/validata.js" type="text/javascript"></script><style type="text/css">em.success{background:url("images/tips_arrow.gif") no-repeat left 0px;padding-left:16px;margin-left:2px;}em.error{background:url("images/tips_arrow.gif") no-repeat left -51px;display:inline;padding-left:10px;font-style:normal;font-size:11px;margin-left:2px;font-family:12px/162% Arial, Helvetica, sans-serif; }</style> </head> <body><form class="cmsform" id="commentForm" method="get" action=""><p><label for="cusername">姓名</label><em>*</em><input id="cusername" name="username" size="25" /> </p><p><label for="cemail">電子郵件</label><em>*</em><input id="cemail" name="email" size="25" /> </p><p><label for="card">身份證號</label><em>*</em><input id="card" name="card" size="25"/> </p><p><label for="passport">護照編號</label><em>*</em><input id="passport" name="passport" size="25"/> </p><p><label for="phone">電話號碼</label><em>*</em><input id="phone" name="phone" size="25" /> </p></form></body></html>

validata.js

$(function(){ $.validator.setDefaults({submitHandler: function(form) {form.submit();}});// 字符驗證jQuery.validator.addMethod("stringCheck", function(value, element) {return this.optional(element) || /^[/u0391-/uFFE5/w]+$/.test(value);}, "只能包括中文字、英文字母、數字和下劃線");// 中文字兩個字節jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {var length = value.length;for(var i = 0; i < value.length; i++){if(value.charCodeAt(i) > 127){length++;}}return this.optional(element) || ( length >= param[0] && length <= param[1] );}, "請確保輸入的值在3-15個字節之間(一個中文字算2個字節)"); // 身份證號碼驗證jQuery.validator.addMethod("isIdCardNo", function(value, element) {return this.optional(element) || idCardNoUtil.checkIdCardNo(value);}, "請正確輸入您的身份證號碼");//護照編號驗證jQuery.validator.addMethod("passport", function(value, element) {return this.optional(element) || checknumber(value);}, "請正確輸入您的護照編號"); // 手機號碼驗證jQuery.validator.addMethod("isMobile", function(value, element) {var length = value.length;var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+/d{8})$/;return this.optional(element) || (length == 11 && mobile.test(value));}, "請正確填寫您的手機號碼"); // 電話號碼驗證jQuery.validator.addMethod("isTel", function(value, element) {var tel = /^/d{3,4}-?/d{7,9}$/; //電話號碼格式010-12345678return this.optional(element) || (tel.test(value));}, "請正確填寫您的電話號碼"); // 聯系電話(手機/電話皆可)驗證jQuery.validator.addMethod("isPhone", function(value,element) {var length = value.length;var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+/d{8})$/;var tel = /^/d{3,4}-?/d{7,9}$/;return this.optional(element) || (tel.test(value) || mobile.test(value)); }, "請正確填寫您的聯系電話"); // 郵政編碼驗證jQuery.validator.addMethod("isZipCode", function(value, element) {var tel = /^[0-9]{6}$/;return this.optional(element) || (tel.test(value));}, "請正確填寫您的郵政編碼"); //開始驗證$('#commentForm').validate({ rules: {username: {required:true,stringCheck:true,byteRangeLength:[3,15]},email:{required:true,email:true},phone:{required:true,isMobile:true},address:{required:true,stringCheck:true,byteRangeLength:[3,100]},card:{required:true,isIdCardNo:true },passport:{required:true,passport:true }},  messages:{username: {required: "請填寫用戶名",stringCheck: "用戶名只能包括中文字、英文字母、數字和下劃線",byteRangeLength: "用戶名必須在3-15個字符之間(一個中文字算2個字符)"},email:{required: "<font color=red>請輸入一個Email地址</fond>",email: "請輸入一個有效的Email地址"},phone:{required: "請輸入您的聯系電話",isPhone: "請輸入一個有效的聯系電話"},address:{required: "請輸入您的聯系地址",stringCheck: "請正確輸入您的聯系地址",byteRangeLength: "請詳實您的聯系地址以便于我們聯系您"},card:{required:"請輸入身份證號",isIdCardNo:"請輸入正確的身份證號"},passport:{required:"請輸入護照編號",passport:"請輸入正確的護照編號"}},focusInvalid: false,onkeyup: false,errorPlacement: function(error, element) {error.appendTo( element.parent());},errorElement:"em",error:function(label){label.text(" ").addClass("error");}});})

card.js

var idCardNoUtil = { provinceAndCitys: {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:"國外"},powers: ["7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"],parityBit: ["1","0","X","9","8","7","6","5","4","3","2"],genders: {male:"男",female:"女"},checkAddressCode: function(addressCode){var check = /^[1-9]/d{5}$/.test(addressCode);if(!check) return false;if(idCardNoUtil.provinceAndCitys[parseInt(addressCode.substring(0,2))]){return true;}else{return false;}},checkBirthDayCode: function(birDayCode){var check = /^[1-9]/d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))$/.test(birDayCode);if(!check) return false;var yyyy = parseInt(birDayCode.substring(0,4),10);var mm = parseInt(birDayCode.substring(4,6),10);var dd = parseInt(birDayCode.substring(6),10);var xdata = new Date(yyyy,mm-1,dd);if(xdata > new Date()){return false;//生日不能大于當前日期}else if ( ( xdata.getFullYear() == yyyy ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == dd ) ){return true;}else{return false;}},getParityBit: function(idCardNo){var id17 = idCardNo.substring(0,17); var power = 0;for(var i=0;i<17;i++){power += parseInt(id17.charAt(i),10) * parseInt(idCardNoUtil.powers[i]);} var mod = power % 11;return idCardNoUtil.parityBit[mod];},checkParityBit: function(idCardNo){var parityBit = idCardNo.charAt(17).toUpperCase();if(idCardNoUtil.getParityBit(idCardNo) == parityBit){return true;}else{return false;}},checkIdCardNo: function(idCardNo){//15位和18位身份證號碼的基本校驗var check = /^/d{15}|(/d{17}(/d|x|X))$/.test(idCardNo);if(!check) return false;//判斷長度為15位或18位if(idCardNo.length==15){return idCardNoUtil.check15IdCardNo(idCardNo);}else if(idCardNo.length==18){return idCardNoUtil.check18IdCardNo(idCardNo);}else{return false;}}, //校驗15位的身份證號碼check15IdCardNo: function(idCardNo){//15位身份證號碼的基本校驗var check = /^[1-9]/d{7}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))/d{3}$/.test(idCardNo);if(!check) return false;//校驗地址碼var addressCode = idCardNo.substring(0,6);check = idCardNoUtil.checkAddressCode(addressCode);if(!check) return false;var birDayCode = '19' + idCardNo.substring(6,12);//校驗日期碼return idCardNoUtil.checkBirthDayCode(birDayCode);}, //校驗18位的身份證號碼check18IdCardNo: function(idCardNo){//18位身份證號碼的基本格式校驗var check = /^[1-9]/d{5}[1-9]/d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))/d{3}(/d|x|X)$/.test(idCardNo);if(!check) return false;//校驗地址碼var addressCode = idCardNo.substring(0,6);check = idCardNoUtil.checkAddressCode(addressCode);if(!check) return false;//校驗日期碼var birDayCode = idCardNo.substring(6,14);check = idCardNoUtil.checkBirthDayCode(birDayCode);if(!check) return false;//驗證校檢碼return idCardNoUtil.checkParityBit(idCardNo);}, formateDateCN: function(day){var yyyy =day.substring(0,4);var mm = day.substring(4,6);var dd = day.substring(6);return yyyy + '-' + mm +'-' + dd;}, //獲取信息getIdCardInfo: function(idCardNo){var idCardInfo = {gender:"", //性別birthday:"" // 出生日期(yyyy-mm-dd)};if(idCardNo.length==15){var aday = '19' + idCardNo.substring(6,12);idCardInfo.birthday=idCardNoUtil.formateDateCN(aday);if(parseInt(idCardNo.charAt(14))%2==0){idCardInfo.gender=idCardNoUtil.genders.female;}else{idCardInfo.gender=idCardNoUtil.genders.male;}}else if(idCardNo.length==18){var aday = idCardNo.substring(6,14);idCardInfo.birthday=idCardNoUtil.formateDateCN(aday);if(parseInt(idCardNo.charAt(16))%2==0){idCardInfo.gender=idCardNoUtil.genders.female;}else{idCardInfo.gender=idCardNoUtil.genders.male;} }return idCardInfo;},getId15:function(idCardNo){if(idCardNo.length==15){return idCardNo;}else if(idCardNo.length==18){return idCardNo.substring(0,6) + idCardNo.substring(8,17);}else{return null;}},getId18: function(idCardNo){if(idCardNo.length==15){var id17 = idCardNo.substring(0,6) + '19' + idCardNo.substring(6);var parityBit = idCardNoUtil.getParityBit(id17);return id17 + parityBit;}else if(idCardNo.length==18){return idCardNo;}else{return null;}}};//驗證護照是否正確function checknumber(number){var str=number;//在JavaScript中,正則表達式只能使用"/"開頭和結束,不能使用雙引號var Expression=/(P/d{7})|(G/d{8})/;var objExp=new RegExp(Expression);if(objExp.test(str)==true){return true;}else{return false;}};

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97在线视频精品| 欧美成人全部免费| 日本国产一区二区三区| 色樱桃影院亚洲精品影院| 中文字幕在线看视频国产欧美| 欧美性69xxxx肥| 最新中文字幕亚洲| 欧美小视频在线观看| 亚洲成人a**站| 日本成人免费在线| 亚洲精品欧美极品| 91精品国产高清自在线看超| 久久久久久久久久久av| 久久久久久香蕉网| 成人自拍性视频| 国产91精品黑色丝袜高跟鞋| 久久免费在线观看| 成人欧美一区二区三区黑人孕妇| 91网站免费观看| 日韩成人xxxx| 亚洲变态欧美另类捆绑| 精品无人区乱码1区2区3区在线| 久久国产精品久久久久久| 国产成人精品国内自产拍免费看| 国产成人涩涩涩视频在线观看| 亚洲午夜未满十八勿入免费观看全集| 亚洲国产精品va在线| 26uuu亚洲国产精品| 欧美大全免费观看电视剧大泉洋| 欧洲精品在线视频| 欧美成人午夜激情| 国产精品久久久久久久久久99| 欧美另类精品xxxx孕妇| 亚洲一品av免费观看| 91国产视频在线| 伊人成人开心激情综合网| 亚洲精品日韩久久久| 精品美女永久免费视频| 欧美亚洲第一页| 国产亚洲精品久久久久久| 欧美韩国理论所午夜片917电影| 国产精品一区久久| 日韩欧美在线视频日韩欧美在线视频| 俺也去精品视频在线观看| 亚洲第一精品夜夜躁人人躁| 国产精品国产自产拍高清av水多| 欧美最近摘花xxxx摘花| 国产精品99一区| 久久亚洲精品中文字幕冲田杏梨| 国产91色在线免费| 69av视频在线播放| 亚洲欧美日韩一区二区在线| 欧美一级bbbbb性bbbb喷潮片| 国产一区二区三区在线观看视频| 91久久在线视频| 青青草原成人在线视频| 国内精品久久久久久久| 午夜精品久久久久久久99热浪潮| 日韩福利视频在线观看| yellow中文字幕久久| 一区二区在线免费视频| 日韩av在线直播| 国产精品观看在线亚洲人成网| 国产欧美精品久久久| 日韩电影中文字幕在线观看| 国产精品美女久久久久av超清| 久久精品国产欧美亚洲人人爽| 国产成人精品久久久| 一区二区三区精品99久久| 国产精品久久久一区| 成人性教育视频在线观看| 高清一区二区三区四区五区| 国产精品羞羞答答| 国产欧美va欧美va香蕉在线| 美女啪啪无遮挡免费久久网站| 欧美多人爱爱视频网站| 日韩亚洲欧美成人| 色综合伊人色综合网站| 欧美精品videos性欧美| 亚洲剧情一区二区| 欧美电影第一页| 欧美一级电影久久| 欧美精品精品精品精品免费| 国产福利精品av综合导导航| 茄子视频成人在线| 亚洲3p在线观看| 在线日韩欧美视频| 亚洲精品中文字| 538国产精品视频一区二区| 亚洲黄页网在线观看| 一区二区在线免费视频| 久久99精品久久久久久噜噜| 欧美日韩不卡合集视频| 欧美国产亚洲精品久久久8v| 91精品国产乱码久久久久久蜜臀| 日韩精品在线视频美女| 亚洲男女自偷自拍图片另类| 日韩免费观看高清| 国产欧美日韩最新| 日本精品久久久| 亚洲第一福利视频| 欧美激情2020午夜免费观看| 久久精品国产欧美激情| 久久琪琪电影院| 成人免费视频在线观看超级碰| 亚洲香蕉成人av网站在线观看| 韩曰欧美视频免费观看| 久久九九全国免费精品观看| 精品亚洲va在线va天堂资源站| 久久成年人视频| 欧美国产日韩一区二区| 国产精品久久久久77777| 国产69精品久久久久久| 午夜精品久久久久久久久久久久久| 午夜精品99久久免费| 成人欧美一区二区三区黑人| 91精品国产自产在线| 欧美日韩性生活视频| 亚洲成色www8888| 成人女保姆的销魂服务| 亚洲综合中文字幕在线观看| 日韩免费av片在线观看| 欧美大胆在线视频| 成人黄色生活片| 成人亚洲欧美一区二区三区| 九色91av视频| 日韩美女在线观看一区| 国产精品男人爽免费视频1| 国产精品久久久久久久久久免费| 97视频在线观看免费| 日韩精品在线观看视频| 日韩中文字幕欧美| 国产97免费视| 国产精品香蕉av| 欧美日韩亚洲视频一区| 欧美亚洲激情视频| 日韩电影在线观看永久视频免费网站| 亚洲一级黄色片| 日韩在线国产精品| 亚洲欧美精品伊人久久| 亚洲第一色中文字幕| 欧美另类在线观看| 国产精品美女免费视频| 日韩中文在线不卡| 国产精品成人国产乱一区| 国产精品久久久久久久久久久新郎| 国产精品99免视看9| 最新的欧美黄色| 亚洲精品国产精品国自产在线| 亚洲人高潮女人毛茸茸| 韩国三级日本三级少妇99| 中文字幕久久久| 国产精品日韩电影| 亚洲男人天堂手机在线| 日av在线播放中文不卡| 日韩黄色在线免费观看| 4k岛国日韩精品**专区| 91高清免费在线观看| 亚洲人午夜精品| 日韩大胆人体377p| 国产成人在线精品| 亚洲xxx自由成熟| 日韩有码在线电影| 亚洲国产精品人久久电影|