\r\n 姓名<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n \r\n 電子郵件<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n \r\n 身份證號<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n \r\n 護照編號<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n \r\n 電話號碼<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n <\/form>\r\n<\/body>\r\n<\/html><\/pre>validata.js<\/p> $(function(){\r\n\r\n $.validator.setDefaults({ \r\n submitHandler: function(form) { \r\n form.submit(); \r\n } \r\n }); \r\n \/\/ 字符驗證 \r\n jQuery.validator.addMethod(\"stringCheck\", function(value, element) { \r\n return this.optional(element) || \/^[\\u0391-\\uFFE5\\w]+$\/.test(value); \r\n }, \"只能包括中文字、英文字母、數(shù)字和下劃線\"); \r\n \/\/ 中文字兩個字節(jié) \r\n jQuery.validator.addMethod(\"byteRangeLength\", function(value, element, param) { \r\n var length = value.length; \r\n for(var i = 0; i < value.length; i++){ \r\n if(value.charCodeAt(i) > 127){ \r\n length++; \r\n } \r\n } \r\n return this.optional(element) || ( length >= param[0] && length <= param[1] ); \r\n}, \"請確保輸入的值在3-15個字節(jié)之間(一個中文字算2個字節(jié))\"); \r\n\r\n\/\/ 身份證號碼驗證 \r\njQuery.validator.addMethod(\"isIdCardNo\", function(value, element) { \r\n return this.optional(element) || idCardNoUtil.checkIdCardNo(value); \r\n}, \"請正確輸入您的身份證號碼\"); \r\n\/\/護照編號驗證\r\n jQuery.validator.addMethod(\"passport\", function(value, element) { \r\n return this.optional(element) || checknumber(value); \r\n}, \"請正確輸入您的護照編號\"); \r\n\r\n\/\/ 手機號碼驗證 \r\njQuery.validator.addMethod(\"isMobile\", function(value, element) { \r\n var length = value.length; \r\n var mobile = \/^(((13[0-9]{1})|(15[0-9]{1}))+\\d{8})$\/; \r\n return this.optional(element) || (length == 11 && mobile.test(value)); \r\n}, \"請正確填寫您的手機號碼\"); \r\n\r\n\/\/ 電話號碼驗證 \r\njQuery.validator.addMethod(\"isTel\", function(value, element) { \r\n var tel = \/^\\d{3,4}-?\\d{7,9}$\/; \/\/電話號碼格式010-12345678 \r\n return this.optional(element) || (tel.test(value)); \r\n}, \"請正確填寫您的電話號碼\"); \r\n\r\n\/\/ 聯(lián)系電話(手機\/電話皆可)驗證 \r\njQuery.validator.addMethod(\"isPhone\", function(value,element) { \r\n var length = value.length; \r\n var mobile = \/^(((13[0-9]{1})|(15[0-9]{1}))+\\d{8})$\/; \r\n var tel = \/^\\d{3,4}-?\\d{7,9}$\/; \r\n return this.optional(element) || (tel.test(value) || mobile.test(value)); \r\n\r\n}, \"請正確填寫您的聯(lián)系電話\"); \r\n\r\n\/\/ 郵政編碼驗證 \r\njQuery.validator.addMethod(\"isZipCode\", function(value, element) { \r\n var tel = \/^[0-9]{6}$\/; \r\n return this.optional(element) || (tel.test(value)); \r\n}, \"請正確填寫您的郵政編碼\"); \r\n\r\n\/\/開始驗證 \r\n$('#commentForm').validate({ \r\n\r\n rules: { \r\n username: { \r\n required:true, \r\n stringCheck:true, \r\n byteRangeLength:[3,15] \r\n }, \r\n email:{ \r\n required:true, \r\n email:true \r\n }, \r\n phone:{ \r\n required:true, \r\n isMobile:true \r\n }, \r\n address:{ \r\n required:true, \r\n stringCheck:true, \r\n byteRangeLength:[3,100] \r\n },\r\n card:{\r\n required:true,\r\n isIdCardNo:true\r\n\r\n },\r\n passport:{\r\n required:true,\r\n passport:true\r\n\r\n }\r\n }, \r\n\r\n \r\n messages:{ \r\n username: { \r\n required: \"請?zhí)顚懹脩裘鸤", \r\n stringCheck: \"用戶名只能包括中文字、英文字母、數(shù)字和下劃線\", \r\n byteRangeLength: \"用戶名必須在3-15個字符之間(一個中文字算2個字符)\" \r\n }, \r\n email:{ \r\n required: \"請輸入一個Email地址<\/fond>\", \r\n email: \"請輸入一個有效的Email地址\" \r\n }, \r\n phone:{ \r\n required: \"請輸入您的聯(lián)系電話\", \r\n isPhone: \"請輸入一個有效的聯(lián)系電話\" \r\n }, \r\n address:{ \r\n required: \"請輸入您的聯(lián)系地址\", \r\n stringCheck: \"請正確輸入您的聯(lián)系地址\", \r\n byteRangeLength: \"請詳實您的聯(lián)系地址以便于我們聯(lián)系您\" \r\n },\r\n card:{\r\n required:\"請輸入身份證號\",\r\n isIdCardNo:\"請輸入正確的身份證號\"\r\n },\r\n passport:{\r\n required:\"請輸入護照編號\",\r\n passport:\"請輸入正確的護照編號\"\r\n }\r\n }, \r\n\r\n \r\n focusInvalid: false, \r\n onkeyup: false, \r\n\r\n \r\n errorPlacement: function(error, element) { \r\n error.appendTo( element.parent()); \r\n }, \r\n errorElement:\"em\",\r\n error:function(label){label.text(\" \").addClass(\"error\");}\r\n }); \r\n})<\/pre>card.js<\/p>var idCardNoUtil = {\r\nprovinceAndCitys: {11:\"北京\",12:\"天津\",13:\"河北\",14:\"山西\",15:\"內蒙古\",21:\"遼寧\",22:\"吉林\",23:\"黑龍江\",\r\n31:\"上海\",32:\"江蘇\",33:\"浙江\",34:\"安徽\",35:\"福建\",36:\"江西\",37:\"山東\",41:\"河南\",42:\"湖北\",43:\"湖南\",44:\"廣東\",\r\n45:\"廣西\",46:\"海南\",50:\"重慶\",51:\"四川\",52:\"貴州\",53:\"云南\",54:\"西藏\",61:\"陜西\",62:\"甘肅\",63:\"青海\",64:\"寧夏\",\r\n65:\"新疆\",71:\"臺灣\",81:\"香港\",82:\"澳門\",91:\"國外\"},\r\n\r\npowers: [\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\",\"1\",\"6\",\"3\",\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\"],\r\n\r\nparityBit: [\"1\",\"0\",\"X\",\"9\",\"8\",\"7\",\"6\",\"5\",\"4\",\"3\",\"2\"],\r\n\r\ngenders: {male:\"男\(zhòng)",female:\"女\"},\r\n\r\ncheckAddressCode: function(addressCode){\r\nvar check = \/^[1-9]\\d{5}$\/.test(addressCode);\r\nif(!check) return false;\r\nif(idCardNoUtil.provinceAndCitys[parseInt(addressCode.substring(0,2))]){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckBirthDayCode: function(birDayCode){\r\nvar check = \/^[1-9]\\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))$\/.test(birDayCode);\r\nif(!check) return false;\r\nvar yyyy = parseInt(birDayCode.substring(0,4),10);\r\nvar mm = parseInt(birDayCode.substring(4,6),10);\r\nvar dd = parseInt(birDayCode.substring(6),10);\r\nvar xdata = new Date(yyyy,mm-1,dd);\r\nif(xdata > new Date()){\r\nreturn false;\/\/生日不能大于當前日期\r\n}else if ( ( xdata.getFullYear() == yyyy ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == dd ) ){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ngetParityBit: function(idCardNo){\r\nvar id17 = idCardNo.substring(0,17);\r\nvar power = 0;\r\nfor(var i=0;i<17;i++){\r\npower += parseInt(id17.charAt(i),10) * parseInt(idCardNoUtil.powers[i]);\r\n}\r\nvar mod = power % 11;\r\nreturn idCardNoUtil.parityBit[mod];\r\n},\r\n\r\ncheckParityBit: function(idCardNo){\r\nvar parityBit = idCardNo.charAt(17).toUpperCase();\r\nif(idCardNoUtil.getParityBit(idCardNo) == parityBit){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckIdCardNo: function(idCardNo){\r\n\/\/15位和18位身份證號碼的基本校驗\r\nvar check = \/^\\d{15}|(\\d{17}(\\d|x|X))$\/.test(idCardNo);\r\nif(!check) return false;\r\n\/\/判斷長度為15位或18位\r\nif(idCardNo.length==15){\r\nreturn idCardNoUtil.check15IdCardNo(idCardNo);\r\n}else if(idCardNo.length==18){\r\nreturn idCardNoUtil.check18IdCardNo(idCardNo);\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\/\/校驗15位的身份證號碼\r\ncheck15IdCardNo: function(idCardNo){\r\n\/\/15位身份證號碼的基本校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\nvar birDayCode = '19' + idCardNo.substring(6,12);\r\n\/\/校驗日期碼\r\nreturn idCardNoUtil.checkBirthDayCode(birDayCode);\r\n},\r\n\/\/校驗18位的身份證號碼\r\ncheck18IdCardNo: function(idCardNo){\r\n\/\/18位身份證號碼的基本格式校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\n\/\/校驗日期碼\r\nvar birDayCode = idCardNo.substring(6,14);\r\ncheck = idCardNoUtil.checkBirthDayCode(birDayCode);\r\nif(!check) return false;\r\n\/\/驗證校檢碼\r\nreturn idCardNoUtil.checkParityBit(idCardNo);\r\n},\r\nformateDateCN: function(day){\r\nvar yyyy =day.substring(0,4);\r\nvar mm = day.substring(4,6);\r\nvar dd = day.substring(6);\r\nreturn yyyy + '-' + mm +'-' + dd;\r\n},\r\n\/\/獲取信息\r\ngetIdCardInfo: function(idCardNo){\r\nvar idCardInfo = {\r\ngender:\"\", \/\/性別\r\nbirthday:\"\" \/\/ 出生日期(yyyy-mm-dd)\r\n};\r\nif(idCardNo.length==15){\r\nvar aday = '19' + idCardNo.substring(6,12);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(14))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}else if(idCardNo.length==18){\r\nvar aday = idCardNo.substring(6,14);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(16))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}\r\nreturn idCardInfo;\r\n},\r\n\r\ngetId15:function(idCardNo){\r\nif(idCardNo.length==15){\r\nreturn idCardNo;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo.substring(0,6) + idCardNo.substring(8,17);\r\n}else{\r\nreturn null;\r\n}\r\n},\r\n\r\ngetId18: function(idCardNo){\r\nif(idCardNo.length==15){\r\nvar id17 = idCardNo.substring(0,6) + '19' + idCardNo.substring(6);\r\nvar parityBit = idCardNoUtil.getParityBit(id17);\r\nreturn id17 + parityBit;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo;\r\n}else{\r\nreturn null;\r\n}\r\n}\r\n};\r\n\/\/驗證護照是否正確\r\nfunction checknumber(number){\r\nvar str=number;\r\n\/\/在JavaScript中,正則表達式只能使用\"\/\"開頭和結束,不能使用雙引號\r\nvar Expression=\/(P\\d{7})|(G\\d{8})\/;\r\nvar objExp=new RegExp(Expression);\r\nif(objExp.test(str)==true){\r\n return true;\r\n}else{\r\n return false;\r\n} \r\n};<\/pre><\/p>\nMore jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! <\/p>\n<\/p>"} 国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂 Community Articles Topics Q&A Learn Course Programming Dictionary Tools Library Development tools Website Source Code PHP Libraries JS special effects Website Materials Extension plug-ins AI Tools Leisure Game Download Game Tutorials English 簡體中文 English 繁體中文 日本語 ??? Melayu Fran?ais Deutsch Login singup Home Web Front-end JS Tutorial jquery validation verifies ID number, passport, phone number, email (example code) jquery validation verifies ID number, passport, phone number, email (example code) 高洛峰 Jan 07, 2017 am 10:00 AM validata.htm<!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); }, "只能包括中文字、英文字母、數(shù)字和下劃線"); // 中文字兩個字節(jié) 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個字節(jié)之間(一個中文字算2個字節(jié))"); // 身份證號碼驗證 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-12345678 return this.optional(element) || (tel.test(value)); }, "請正確填寫您的電話號碼"); // 聯(lián)系電話(手機/電話皆可)驗證 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)); }, "請正確填寫您的聯(lián)系電話"); // 郵政編碼驗證 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: "請?zhí)顚懹脩裘?quot;, stringCheck: "用戶名只能包括中文字、英文字母、數(shù)字和下劃線", byteRangeLength: "用戶名必須在3-15個字符之間(一個中文字算2個字符)" }, email:{ required: "<font color=red>請輸入一個Email地址</fond>", email: "請輸入一個有效的Email地址" }, phone:{ required: "請輸入您的聯(lián)系電話", isPhone: "請輸入一個有效的聯(lián)系電話" }, address:{ required: "請輸入您的聯(lián)系地址", stringCheck: "請正確輸入您的聯(lián)系地址", byteRangeLength: "請詳實您的聯(lián)系地址以便于我們聯(lián)系您" }, 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.jsvar 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; } }; More jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! Statement of this Website The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn Hot AI Tools Undress AI Tool Undress images for free Undresser.AI Undress AI-powered app for creating realistic nude photos AI Clothes Remover Online AI tool for removing clothes from photos. Clothoff.io AI clothes remover Video Face Swap Swap faces in any video effortlessly with our completely free AI face swap tool! Show More Hot Article Guide: Stellar Blade Save File Location/Save File Lost/Not Saving 4 weeks ago By DDD Oguri Cap Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Agnes Tachyon Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Dune: Awakening - Advanced Planetologist Quest Walkthrough 4 weeks ago By Jack chen Date Everything: Dirk And Harper Relationship Guide 4 weeks ago By Jack chen Show More Hot Tools Notepad++7.3.1 Easy-to-use and free code editor SublimeText3 Chinese version Chinese version, very easy to use Zend Studio 13.0.1 Powerful PHP integrated development environment Dreamweaver CS6 Visual web development tools SublimeText3 Mac version God-level code editing software (SublimeText3) Show More Hot Topics Where is the login entrance for gmail email? 8638 17 Java Tutorial 1783 16 CakePHP Tutorial 1728 56 Laravel Tutorial 1579 28 PHP Tutorial 1444 31 Show More Related knowledge Java vs. JavaScript: Clearing Up the Confusion Jun 20, 2025 am 12:27 AM Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development. Javascript Comments: short explanation Jun 19, 2025 am 12:40 AM JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic How to work with dates and times in js? Jul 01, 2025 am 01:27 AM The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes. Why should you place tags at the bottom of the ? Jul 02, 2025 am 01:22 AM PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl JavaScript vs. Java: A Comprehensive Comparison for Developers Jun 20, 2025 am 12:21 AM JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor JavaScript: Exploring Data Types for Efficient Coding Jun 20, 2025 am 12:46 AM JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf What is event bubbling and capturing in the DOM? Jul 02, 2025 am 01:19 AM Event capture and bubble are two stages of event propagation in DOM. Capture is from the top layer to the target element, and bubble is from the target element to the top layer. 1. Event capture is implemented by setting the useCapture parameter of addEventListener to true; 2. Event bubble is the default behavior, useCapture is set to false or omitted; 3. Event propagation can be used to prevent event propagation; 4. Event bubbling supports event delegation to improve dynamic content processing efficiency; 5. Capture can be used to intercept events in advance, such as logging or error processing. Understanding these two phases helps to accurately control the timing and how JavaScript responds to user operations. What's the Difference Between Java and JavaScript? Jun 17, 2025 am 09:17 AM Java and JavaScript are different programming languages. 1.Java is a statically typed and compiled language, suitable for enterprise applications and large systems. 2. JavaScript is a dynamic type and interpreted language, mainly used for web interaction and front-end development. See all articles
\r\n 電子郵件<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n \r\n 身份證號<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n \r\n 護照編號<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n \r\n 電話號碼<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n <\/form>\r\n<\/body>\r\n<\/html><\/pre>validata.js<\/p> $(function(){\r\n\r\n $.validator.setDefaults({ \r\n submitHandler: function(form) { \r\n form.submit(); \r\n } \r\n }); \r\n \/\/ 字符驗證 \r\n jQuery.validator.addMethod(\"stringCheck\", function(value, element) { \r\n return this.optional(element) || \/^[\\u0391-\\uFFE5\\w]+$\/.test(value); \r\n }, \"只能包括中文字、英文字母、數(shù)字和下劃線\"); \r\n \/\/ 中文字兩個字節(jié) \r\n jQuery.validator.addMethod(\"byteRangeLength\", function(value, element, param) { \r\n var length = value.length; \r\n for(var i = 0; i < value.length; i++){ \r\n if(value.charCodeAt(i) > 127){ \r\n length++; \r\n } \r\n } \r\n return this.optional(element) || ( length >= param[0] && length <= param[1] ); \r\n}, \"請確保輸入的值在3-15個字節(jié)之間(一個中文字算2個字節(jié))\"); \r\n\r\n\/\/ 身份證號碼驗證 \r\njQuery.validator.addMethod(\"isIdCardNo\", function(value, element) { \r\n return this.optional(element) || idCardNoUtil.checkIdCardNo(value); \r\n}, \"請正確輸入您的身份證號碼\"); \r\n\/\/護照編號驗證\r\n jQuery.validator.addMethod(\"passport\", function(value, element) { \r\n return this.optional(element) || checknumber(value); \r\n}, \"請正確輸入您的護照編號\"); \r\n\r\n\/\/ 手機號碼驗證 \r\njQuery.validator.addMethod(\"isMobile\", function(value, element) { \r\n var length = value.length; \r\n var mobile = \/^(((13[0-9]{1})|(15[0-9]{1}))+\\d{8})$\/; \r\n return this.optional(element) || (length == 11 && mobile.test(value)); \r\n}, \"請正確填寫您的手機號碼\"); \r\n\r\n\/\/ 電話號碼驗證 \r\njQuery.validator.addMethod(\"isTel\", function(value, element) { \r\n var tel = \/^\\d{3,4}-?\\d{7,9}$\/; \/\/電話號碼格式010-12345678 \r\n return this.optional(element) || (tel.test(value)); \r\n}, \"請正確填寫您的電話號碼\"); \r\n\r\n\/\/ 聯(lián)系電話(手機\/電話皆可)驗證 \r\njQuery.validator.addMethod(\"isPhone\", function(value,element) { \r\n var length = value.length; \r\n var mobile = \/^(((13[0-9]{1})|(15[0-9]{1}))+\\d{8})$\/; \r\n var tel = \/^\\d{3,4}-?\\d{7,9}$\/; \r\n return this.optional(element) || (tel.test(value) || mobile.test(value)); \r\n\r\n}, \"請正確填寫您的聯(lián)系電話\"); \r\n\r\n\/\/ 郵政編碼驗證 \r\njQuery.validator.addMethod(\"isZipCode\", function(value, element) { \r\n var tel = \/^[0-9]{6}$\/; \r\n return this.optional(element) || (tel.test(value)); \r\n}, \"請正確填寫您的郵政編碼\"); \r\n\r\n\/\/開始驗證 \r\n$('#commentForm').validate({ \r\n\r\n rules: { \r\n username: { \r\n required:true, \r\n stringCheck:true, \r\n byteRangeLength:[3,15] \r\n }, \r\n email:{ \r\n required:true, \r\n email:true \r\n }, \r\n phone:{ \r\n required:true, \r\n isMobile:true \r\n }, \r\n address:{ \r\n required:true, \r\n stringCheck:true, \r\n byteRangeLength:[3,100] \r\n },\r\n card:{\r\n required:true,\r\n isIdCardNo:true\r\n\r\n },\r\n passport:{\r\n required:true,\r\n passport:true\r\n\r\n }\r\n }, \r\n\r\n \r\n messages:{ \r\n username: { \r\n required: \"請?zhí)顚懹脩裘鸤", \r\n stringCheck: \"用戶名只能包括中文字、英文字母、數(shù)字和下劃線\", \r\n byteRangeLength: \"用戶名必須在3-15個字符之間(一個中文字算2個字符)\" \r\n }, \r\n email:{ \r\n required: \"請輸入一個Email地址<\/fond>\", \r\n email: \"請輸入一個有效的Email地址\" \r\n }, \r\n phone:{ \r\n required: \"請輸入您的聯(lián)系電話\", \r\n isPhone: \"請輸入一個有效的聯(lián)系電話\" \r\n }, \r\n address:{ \r\n required: \"請輸入您的聯(lián)系地址\", \r\n stringCheck: \"請正確輸入您的聯(lián)系地址\", \r\n byteRangeLength: \"請詳實您的聯(lián)系地址以便于我們聯(lián)系您\" \r\n },\r\n card:{\r\n required:\"請輸入身份證號\",\r\n isIdCardNo:\"請輸入正確的身份證號\"\r\n },\r\n passport:{\r\n required:\"請輸入護照編號\",\r\n passport:\"請輸入正確的護照編號\"\r\n }\r\n }, \r\n\r\n \r\n focusInvalid: false, \r\n onkeyup: false, \r\n\r\n \r\n errorPlacement: function(error, element) { \r\n error.appendTo( element.parent()); \r\n }, \r\n errorElement:\"em\",\r\n error:function(label){label.text(\" \").addClass(\"error\");}\r\n }); \r\n})<\/pre>card.js<\/p>var idCardNoUtil = {\r\nprovinceAndCitys: {11:\"北京\",12:\"天津\",13:\"河北\",14:\"山西\",15:\"內蒙古\",21:\"遼寧\",22:\"吉林\",23:\"黑龍江\",\r\n31:\"上海\",32:\"江蘇\",33:\"浙江\",34:\"安徽\",35:\"福建\",36:\"江西\",37:\"山東\",41:\"河南\",42:\"湖北\",43:\"湖南\",44:\"廣東\",\r\n45:\"廣西\",46:\"海南\",50:\"重慶\",51:\"四川\",52:\"貴州\",53:\"云南\",54:\"西藏\",61:\"陜西\",62:\"甘肅\",63:\"青海\",64:\"寧夏\",\r\n65:\"新疆\",71:\"臺灣\",81:\"香港\",82:\"澳門\",91:\"國外\"},\r\n\r\npowers: [\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\",\"1\",\"6\",\"3\",\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\"],\r\n\r\nparityBit: [\"1\",\"0\",\"X\",\"9\",\"8\",\"7\",\"6\",\"5\",\"4\",\"3\",\"2\"],\r\n\r\ngenders: {male:\"男\(zhòng)",female:\"女\"},\r\n\r\ncheckAddressCode: function(addressCode){\r\nvar check = \/^[1-9]\\d{5}$\/.test(addressCode);\r\nif(!check) return false;\r\nif(idCardNoUtil.provinceAndCitys[parseInt(addressCode.substring(0,2))]){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckBirthDayCode: function(birDayCode){\r\nvar check = \/^[1-9]\\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))$\/.test(birDayCode);\r\nif(!check) return false;\r\nvar yyyy = parseInt(birDayCode.substring(0,4),10);\r\nvar mm = parseInt(birDayCode.substring(4,6),10);\r\nvar dd = parseInt(birDayCode.substring(6),10);\r\nvar xdata = new Date(yyyy,mm-1,dd);\r\nif(xdata > new Date()){\r\nreturn false;\/\/生日不能大于當前日期\r\n}else if ( ( xdata.getFullYear() == yyyy ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == dd ) ){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ngetParityBit: function(idCardNo){\r\nvar id17 = idCardNo.substring(0,17);\r\nvar power = 0;\r\nfor(var i=0;i<17;i++){\r\npower += parseInt(id17.charAt(i),10) * parseInt(idCardNoUtil.powers[i]);\r\n}\r\nvar mod = power % 11;\r\nreturn idCardNoUtil.parityBit[mod];\r\n},\r\n\r\ncheckParityBit: function(idCardNo){\r\nvar parityBit = idCardNo.charAt(17).toUpperCase();\r\nif(idCardNoUtil.getParityBit(idCardNo) == parityBit){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckIdCardNo: function(idCardNo){\r\n\/\/15位和18位身份證號碼的基本校驗\r\nvar check = \/^\\d{15}|(\\d{17}(\\d|x|X))$\/.test(idCardNo);\r\nif(!check) return false;\r\n\/\/判斷長度為15位或18位\r\nif(idCardNo.length==15){\r\nreturn idCardNoUtil.check15IdCardNo(idCardNo);\r\n}else if(idCardNo.length==18){\r\nreturn idCardNoUtil.check18IdCardNo(idCardNo);\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\/\/校驗15位的身份證號碼\r\ncheck15IdCardNo: function(idCardNo){\r\n\/\/15位身份證號碼的基本校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\nvar birDayCode = '19' + idCardNo.substring(6,12);\r\n\/\/校驗日期碼\r\nreturn idCardNoUtil.checkBirthDayCode(birDayCode);\r\n},\r\n\/\/校驗18位的身份證號碼\r\ncheck18IdCardNo: function(idCardNo){\r\n\/\/18位身份證號碼的基本格式校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\n\/\/校驗日期碼\r\nvar birDayCode = idCardNo.substring(6,14);\r\ncheck = idCardNoUtil.checkBirthDayCode(birDayCode);\r\nif(!check) return false;\r\n\/\/驗證校檢碼\r\nreturn idCardNoUtil.checkParityBit(idCardNo);\r\n},\r\nformateDateCN: function(day){\r\nvar yyyy =day.substring(0,4);\r\nvar mm = day.substring(4,6);\r\nvar dd = day.substring(6);\r\nreturn yyyy + '-' + mm +'-' + dd;\r\n},\r\n\/\/獲取信息\r\ngetIdCardInfo: function(idCardNo){\r\nvar idCardInfo = {\r\ngender:\"\", \/\/性別\r\nbirthday:\"\" \/\/ 出生日期(yyyy-mm-dd)\r\n};\r\nif(idCardNo.length==15){\r\nvar aday = '19' + idCardNo.substring(6,12);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(14))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}else if(idCardNo.length==18){\r\nvar aday = idCardNo.substring(6,14);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(16))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}\r\nreturn idCardInfo;\r\n},\r\n\r\ngetId15:function(idCardNo){\r\nif(idCardNo.length==15){\r\nreturn idCardNo;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo.substring(0,6) + idCardNo.substring(8,17);\r\n}else{\r\nreturn null;\r\n}\r\n},\r\n\r\ngetId18: function(idCardNo){\r\nif(idCardNo.length==15){\r\nvar id17 = idCardNo.substring(0,6) + '19' + idCardNo.substring(6);\r\nvar parityBit = idCardNoUtil.getParityBit(id17);\r\nreturn id17 + parityBit;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo;\r\n}else{\r\nreturn null;\r\n}\r\n}\r\n};\r\n\/\/驗證護照是否正確\r\nfunction checknumber(number){\r\nvar str=number;\r\n\/\/在JavaScript中,正則表達式只能使用\"\/\"開頭和結束,不能使用雙引號\r\nvar Expression=\/(P\\d{7})|(G\\d{8})\/;\r\nvar objExp=new RegExp(Expression);\r\nif(objExp.test(str)==true){\r\n return true;\r\n}else{\r\n return false;\r\n} \r\n};<\/pre><\/p>\nMore jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! <\/p>\n<\/p>"} 国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂 Community Articles Topics Q&A Learn Course Programming Dictionary Tools Library Development tools Website Source Code PHP Libraries JS special effects Website Materials Extension plug-ins AI Tools Leisure Game Download Game Tutorials English 簡體中文 English 繁體中文 日本語 ??? Melayu Fran?ais Deutsch Login singup Home Web Front-end JS Tutorial jquery validation verifies ID number, passport, phone number, email (example code) jquery validation verifies ID number, passport, phone number, email (example code) 高洛峰 Jan 07, 2017 am 10:00 AM validata.htm<!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); }, "只能包括中文字、英文字母、數(shù)字和下劃線"); // 中文字兩個字節(jié) 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個字節(jié)之間(一個中文字算2個字節(jié))"); // 身份證號碼驗證 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-12345678 return this.optional(element) || (tel.test(value)); }, "請正確填寫您的電話號碼"); // 聯(lián)系電話(手機/電話皆可)驗證 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)); }, "請正確填寫您的聯(lián)系電話"); // 郵政編碼驗證 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: "請?zhí)顚懹脩裘?quot;, stringCheck: "用戶名只能包括中文字、英文字母、數(shù)字和下劃線", byteRangeLength: "用戶名必須在3-15個字符之間(一個中文字算2個字符)" }, email:{ required: "<font color=red>請輸入一個Email地址</fond>", email: "請輸入一個有效的Email地址" }, phone:{ required: "請輸入您的聯(lián)系電話", isPhone: "請輸入一個有效的聯(lián)系電話" }, address:{ required: "請輸入您的聯(lián)系地址", stringCheck: "請正確輸入您的聯(lián)系地址", byteRangeLength: "請詳實您的聯(lián)系地址以便于我們聯(lián)系您" }, 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.jsvar 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; } }; More jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! Statement of this Website The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn Hot AI Tools Undress AI Tool Undress images for free Undresser.AI Undress AI-powered app for creating realistic nude photos AI Clothes Remover Online AI tool for removing clothes from photos. Clothoff.io AI clothes remover Video Face Swap Swap faces in any video effortlessly with our completely free AI face swap tool! Show More Hot Article Guide: Stellar Blade Save File Location/Save File Lost/Not Saving 4 weeks ago By DDD Oguri Cap Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Agnes Tachyon Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Dune: Awakening - Advanced Planetologist Quest Walkthrough 4 weeks ago By Jack chen Date Everything: Dirk And Harper Relationship Guide 4 weeks ago By Jack chen Show More Hot Tools Notepad++7.3.1 Easy-to-use and free code editor SublimeText3 Chinese version Chinese version, very easy to use Zend Studio 13.0.1 Powerful PHP integrated development environment Dreamweaver CS6 Visual web development tools SublimeText3 Mac version God-level code editing software (SublimeText3) Show More Hot Topics Where is the login entrance for gmail email? 8638 17 Java Tutorial 1783 16 CakePHP Tutorial 1728 56 Laravel Tutorial 1579 28 PHP Tutorial 1444 31 Show More Related knowledge Java vs. JavaScript: Clearing Up the Confusion Jun 20, 2025 am 12:27 AM Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development. Javascript Comments: short explanation Jun 19, 2025 am 12:40 AM JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic How to work with dates and times in js? Jul 01, 2025 am 01:27 AM The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes. Why should you place tags at the bottom of the ? Jul 02, 2025 am 01:22 AM PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl JavaScript vs. Java: A Comprehensive Comparison for Developers Jun 20, 2025 am 12:21 AM JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor JavaScript: Exploring Data Types for Efficient Coding Jun 20, 2025 am 12:46 AM JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf What is event bubbling and capturing in the DOM? Jul 02, 2025 am 01:19 AM Event capture and bubble are two stages of event propagation in DOM. Capture is from the top layer to the target element, and bubble is from the target element to the top layer. 1. Event capture is implemented by setting the useCapture parameter of addEventListener to true; 2. Event bubble is the default behavior, useCapture is set to false or omitted; 3. Event propagation can be used to prevent event propagation; 4. Event bubbling supports event delegation to improve dynamic content processing efficiency; 5. Capture can be used to intercept events in advance, such as logging or error processing. Understanding these two phases helps to accurately control the timing and how JavaScript responds to user operations. What's the Difference Between Java and JavaScript? Jun 17, 2025 am 09:17 AM Java and JavaScript are different programming languages. 1.Java is a statically typed and compiled language, suitable for enterprise applications and large systems. 2. JavaScript is a dynamic type and interpreted language, mainly used for web interaction and front-end development. See all articles
\r\n 身份證號<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n \r\n 護照編號<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n \r\n 電話號碼<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n <\/form>\r\n<\/body>\r\n<\/html><\/pre>validata.js<\/p> $(function(){\r\n\r\n $.validator.setDefaults({ \r\n submitHandler: function(form) { \r\n form.submit(); \r\n } \r\n }); \r\n \/\/ 字符驗證 \r\n jQuery.validator.addMethod(\"stringCheck\", function(value, element) { \r\n return this.optional(element) || \/^[\\u0391-\\uFFE5\\w]+$\/.test(value); \r\n }, \"只能包括中文字、英文字母、數(shù)字和下劃線\"); \r\n \/\/ 中文字兩個字節(jié) \r\n jQuery.validator.addMethod(\"byteRangeLength\", function(value, element, param) { \r\n var length = value.length; \r\n for(var i = 0; i < value.length; i++){ \r\n if(value.charCodeAt(i) > 127){ \r\n length++; \r\n } \r\n } \r\n return this.optional(element) || ( length >= param[0] && length <= param[1] ); \r\n}, \"請確保輸入的值在3-15個字節(jié)之間(一個中文字算2個字節(jié))\"); \r\n\r\n\/\/ 身份證號碼驗證 \r\njQuery.validator.addMethod(\"isIdCardNo\", function(value, element) { \r\n return this.optional(element) || idCardNoUtil.checkIdCardNo(value); \r\n}, \"請正確輸入您的身份證號碼\"); \r\n\/\/護照編號驗證\r\n jQuery.validator.addMethod(\"passport\", function(value, element) { \r\n return this.optional(element) || checknumber(value); \r\n}, \"請正確輸入您的護照編號\"); \r\n\r\n\/\/ 手機號碼驗證 \r\njQuery.validator.addMethod(\"isMobile\", function(value, element) { \r\n var length = value.length; \r\n var mobile = \/^(((13[0-9]{1})|(15[0-9]{1}))+\\d{8})$\/; \r\n return this.optional(element) || (length == 11 && mobile.test(value)); \r\n}, \"請正確填寫您的手機號碼\"); \r\n\r\n\/\/ 電話號碼驗證 \r\njQuery.validator.addMethod(\"isTel\", function(value, element) { \r\n var tel = \/^\\d{3,4}-?\\d{7,9}$\/; \/\/電話號碼格式010-12345678 \r\n return this.optional(element) || (tel.test(value)); \r\n}, \"請正確填寫您的電話號碼\"); \r\n\r\n\/\/ 聯(lián)系電話(手機\/電話皆可)驗證 \r\njQuery.validator.addMethod(\"isPhone\", function(value,element) { \r\n var length = value.length; \r\n var mobile = \/^(((13[0-9]{1})|(15[0-9]{1}))+\\d{8})$\/; \r\n var tel = \/^\\d{3,4}-?\\d{7,9}$\/; \r\n return this.optional(element) || (tel.test(value) || mobile.test(value)); \r\n\r\n}, \"請正確填寫您的聯(lián)系電話\"); \r\n\r\n\/\/ 郵政編碼驗證 \r\njQuery.validator.addMethod(\"isZipCode\", function(value, element) { \r\n var tel = \/^[0-9]{6}$\/; \r\n return this.optional(element) || (tel.test(value)); \r\n}, \"請正確填寫您的郵政編碼\"); \r\n\r\n\/\/開始驗證 \r\n$('#commentForm').validate({ \r\n\r\n rules: { \r\n username: { \r\n required:true, \r\n stringCheck:true, \r\n byteRangeLength:[3,15] \r\n }, \r\n email:{ \r\n required:true, \r\n email:true \r\n }, \r\n phone:{ \r\n required:true, \r\n isMobile:true \r\n }, \r\n address:{ \r\n required:true, \r\n stringCheck:true, \r\n byteRangeLength:[3,100] \r\n },\r\n card:{\r\n required:true,\r\n isIdCardNo:true\r\n\r\n },\r\n passport:{\r\n required:true,\r\n passport:true\r\n\r\n }\r\n }, \r\n\r\n \r\n messages:{ \r\n username: { \r\n required: \"請?zhí)顚懹脩裘鸤", \r\n stringCheck: \"用戶名只能包括中文字、英文字母、數(shù)字和下劃線\", \r\n byteRangeLength: \"用戶名必須在3-15個字符之間(一個中文字算2個字符)\" \r\n }, \r\n email:{ \r\n required: \"請輸入一個Email地址<\/fond>\", \r\n email: \"請輸入一個有效的Email地址\" \r\n }, \r\n phone:{ \r\n required: \"請輸入您的聯(lián)系電話\", \r\n isPhone: \"請輸入一個有效的聯(lián)系電話\" \r\n }, \r\n address:{ \r\n required: \"請輸入您的聯(lián)系地址\", \r\n stringCheck: \"請正確輸入您的聯(lián)系地址\", \r\n byteRangeLength: \"請詳實您的聯(lián)系地址以便于我們聯(lián)系您\" \r\n },\r\n card:{\r\n required:\"請輸入身份證號\",\r\n isIdCardNo:\"請輸入正確的身份證號\"\r\n },\r\n passport:{\r\n required:\"請輸入護照編號\",\r\n passport:\"請輸入正確的護照編號\"\r\n }\r\n }, \r\n\r\n \r\n focusInvalid: false, \r\n onkeyup: false, \r\n\r\n \r\n errorPlacement: function(error, element) { \r\n error.appendTo( element.parent()); \r\n }, \r\n errorElement:\"em\",\r\n error:function(label){label.text(\" \").addClass(\"error\");}\r\n }); \r\n})<\/pre>card.js<\/p>var idCardNoUtil = {\r\nprovinceAndCitys: {11:\"北京\",12:\"天津\",13:\"河北\",14:\"山西\",15:\"內蒙古\",21:\"遼寧\",22:\"吉林\",23:\"黑龍江\",\r\n31:\"上海\",32:\"江蘇\",33:\"浙江\",34:\"安徽\",35:\"福建\",36:\"江西\",37:\"山東\",41:\"河南\",42:\"湖北\",43:\"湖南\",44:\"廣東\",\r\n45:\"廣西\",46:\"海南\",50:\"重慶\",51:\"四川\",52:\"貴州\",53:\"云南\",54:\"西藏\",61:\"陜西\",62:\"甘肅\",63:\"青海\",64:\"寧夏\",\r\n65:\"新疆\",71:\"臺灣\",81:\"香港\",82:\"澳門\",91:\"國外\"},\r\n\r\npowers: [\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\",\"1\",\"6\",\"3\",\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\"],\r\n\r\nparityBit: [\"1\",\"0\",\"X\",\"9\",\"8\",\"7\",\"6\",\"5\",\"4\",\"3\",\"2\"],\r\n\r\ngenders: {male:\"男\(zhòng)",female:\"女\"},\r\n\r\ncheckAddressCode: function(addressCode){\r\nvar check = \/^[1-9]\\d{5}$\/.test(addressCode);\r\nif(!check) return false;\r\nif(idCardNoUtil.provinceAndCitys[parseInt(addressCode.substring(0,2))]){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckBirthDayCode: function(birDayCode){\r\nvar check = \/^[1-9]\\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))$\/.test(birDayCode);\r\nif(!check) return false;\r\nvar yyyy = parseInt(birDayCode.substring(0,4),10);\r\nvar mm = parseInt(birDayCode.substring(4,6),10);\r\nvar dd = parseInt(birDayCode.substring(6),10);\r\nvar xdata = new Date(yyyy,mm-1,dd);\r\nif(xdata > new Date()){\r\nreturn false;\/\/生日不能大于當前日期\r\n}else if ( ( xdata.getFullYear() == yyyy ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == dd ) ){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ngetParityBit: function(idCardNo){\r\nvar id17 = idCardNo.substring(0,17);\r\nvar power = 0;\r\nfor(var i=0;i<17;i++){\r\npower += parseInt(id17.charAt(i),10) * parseInt(idCardNoUtil.powers[i]);\r\n}\r\nvar mod = power % 11;\r\nreturn idCardNoUtil.parityBit[mod];\r\n},\r\n\r\ncheckParityBit: function(idCardNo){\r\nvar parityBit = idCardNo.charAt(17).toUpperCase();\r\nif(idCardNoUtil.getParityBit(idCardNo) == parityBit){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckIdCardNo: function(idCardNo){\r\n\/\/15位和18位身份證號碼的基本校驗\r\nvar check = \/^\\d{15}|(\\d{17}(\\d|x|X))$\/.test(idCardNo);\r\nif(!check) return false;\r\n\/\/判斷長度為15位或18位\r\nif(idCardNo.length==15){\r\nreturn idCardNoUtil.check15IdCardNo(idCardNo);\r\n}else if(idCardNo.length==18){\r\nreturn idCardNoUtil.check18IdCardNo(idCardNo);\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\/\/校驗15位的身份證號碼\r\ncheck15IdCardNo: function(idCardNo){\r\n\/\/15位身份證號碼的基本校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\nvar birDayCode = '19' + idCardNo.substring(6,12);\r\n\/\/校驗日期碼\r\nreturn idCardNoUtil.checkBirthDayCode(birDayCode);\r\n},\r\n\/\/校驗18位的身份證號碼\r\ncheck18IdCardNo: function(idCardNo){\r\n\/\/18位身份證號碼的基本格式校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\n\/\/校驗日期碼\r\nvar birDayCode = idCardNo.substring(6,14);\r\ncheck = idCardNoUtil.checkBirthDayCode(birDayCode);\r\nif(!check) return false;\r\n\/\/驗證校檢碼\r\nreturn idCardNoUtil.checkParityBit(idCardNo);\r\n},\r\nformateDateCN: function(day){\r\nvar yyyy =day.substring(0,4);\r\nvar mm = day.substring(4,6);\r\nvar dd = day.substring(6);\r\nreturn yyyy + '-' + mm +'-' + dd;\r\n},\r\n\/\/獲取信息\r\ngetIdCardInfo: function(idCardNo){\r\nvar idCardInfo = {\r\ngender:\"\", \/\/性別\r\nbirthday:\"\" \/\/ 出生日期(yyyy-mm-dd)\r\n};\r\nif(idCardNo.length==15){\r\nvar aday = '19' + idCardNo.substring(6,12);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(14))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}else if(idCardNo.length==18){\r\nvar aday = idCardNo.substring(6,14);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(16))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}\r\nreturn idCardInfo;\r\n},\r\n\r\ngetId15:function(idCardNo){\r\nif(idCardNo.length==15){\r\nreturn idCardNo;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo.substring(0,6) + idCardNo.substring(8,17);\r\n}else{\r\nreturn null;\r\n}\r\n},\r\n\r\ngetId18: function(idCardNo){\r\nif(idCardNo.length==15){\r\nvar id17 = idCardNo.substring(0,6) + '19' + idCardNo.substring(6);\r\nvar parityBit = idCardNoUtil.getParityBit(id17);\r\nreturn id17 + parityBit;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo;\r\n}else{\r\nreturn null;\r\n}\r\n}\r\n};\r\n\/\/驗證護照是否正確\r\nfunction checknumber(number){\r\nvar str=number;\r\n\/\/在JavaScript中,正則表達式只能使用\"\/\"開頭和結束,不能使用雙引號\r\nvar Expression=\/(P\\d{7})|(G\\d{8})\/;\r\nvar objExp=new RegExp(Expression);\r\nif(objExp.test(str)==true){\r\n return true;\r\n}else{\r\n return false;\r\n} \r\n};<\/pre><\/p>\nMore jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! <\/p>\n<\/p>"} 国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂 Community Articles Topics Q&A Learn Course Programming Dictionary Tools Library Development tools Website Source Code PHP Libraries JS special effects Website Materials Extension plug-ins AI Tools Leisure Game Download Game Tutorials English 簡體中文 English 繁體中文 日本語 ??? Melayu Fran?ais Deutsch Login singup Home Web Front-end JS Tutorial jquery validation verifies ID number, passport, phone number, email (example code) jquery validation verifies ID number, passport, phone number, email (example code) 高洛峰 Jan 07, 2017 am 10:00 AM validata.htm<!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); }, "只能包括中文字、英文字母、數(shù)字和下劃線"); // 中文字兩個字節(jié) 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個字節(jié)之間(一個中文字算2個字節(jié))"); // 身份證號碼驗證 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-12345678 return this.optional(element) || (tel.test(value)); }, "請正確填寫您的電話號碼"); // 聯(lián)系電話(手機/電話皆可)驗證 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)); }, "請正確填寫您的聯(lián)系電話"); // 郵政編碼驗證 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: "請?zhí)顚懹脩裘?quot;, stringCheck: "用戶名只能包括中文字、英文字母、數(shù)字和下劃線", byteRangeLength: "用戶名必須在3-15個字符之間(一個中文字算2個字符)" }, email:{ required: "<font color=red>請輸入一個Email地址</fond>", email: "請輸入一個有效的Email地址" }, phone:{ required: "請輸入您的聯(lián)系電話", isPhone: "請輸入一個有效的聯(lián)系電話" }, address:{ required: "請輸入您的聯(lián)系地址", stringCheck: "請正確輸入您的聯(lián)系地址", byteRangeLength: "請詳實您的聯(lián)系地址以便于我們聯(lián)系您" }, 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.jsvar 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; } }; More jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! Statement of this Website The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn Hot AI Tools Undress AI Tool Undress images for free Undresser.AI Undress AI-powered app for creating realistic nude photos AI Clothes Remover Online AI tool for removing clothes from photos. Clothoff.io AI clothes remover Video Face Swap Swap faces in any video effortlessly with our completely free AI face swap tool! Show More Hot Article Guide: Stellar Blade Save File Location/Save File Lost/Not Saving 4 weeks ago By DDD Oguri Cap Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Agnes Tachyon Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Dune: Awakening - Advanced Planetologist Quest Walkthrough 4 weeks ago By Jack chen Date Everything: Dirk And Harper Relationship Guide 4 weeks ago By Jack chen Show More Hot Tools Notepad++7.3.1 Easy-to-use and free code editor SublimeText3 Chinese version Chinese version, very easy to use Zend Studio 13.0.1 Powerful PHP integrated development environment Dreamweaver CS6 Visual web development tools SublimeText3 Mac version God-level code editing software (SublimeText3) Show More Hot Topics Where is the login entrance for gmail email? 8638 17 Java Tutorial 1783 16 CakePHP Tutorial 1728 56 Laravel Tutorial 1579 28 PHP Tutorial 1444 31 Show More Related knowledge Java vs. JavaScript: Clearing Up the Confusion Jun 20, 2025 am 12:27 AM Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development. Javascript Comments: short explanation Jun 19, 2025 am 12:40 AM JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic How to work with dates and times in js? Jul 01, 2025 am 01:27 AM The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes. Why should you place tags at the bottom of the ? Jul 02, 2025 am 01:22 AM PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl JavaScript vs. Java: A Comprehensive Comparison for Developers Jun 20, 2025 am 12:21 AM JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor JavaScript: Exploring Data Types for Efficient Coding Jun 20, 2025 am 12:46 AM JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf What is event bubbling and capturing in the DOM? Jul 02, 2025 am 01:19 AM Event capture and bubble are two stages of event propagation in DOM. Capture is from the top layer to the target element, and bubble is from the target element to the top layer. 1. Event capture is implemented by setting the useCapture parameter of addEventListener to true; 2. Event bubble is the default behavior, useCapture is set to false or omitted; 3. Event propagation can be used to prevent event propagation; 4. Event bubbling supports event delegation to improve dynamic content processing efficiency; 5. Capture can be used to intercept events in advance, such as logging or error processing. Understanding these two phases helps to accurately control the timing and how JavaScript responds to user operations. What's the Difference Between Java and JavaScript? Jun 17, 2025 am 09:17 AM Java and JavaScript are different programming languages. 1.Java is a statically typed and compiled language, suitable for enterprise applications and large systems. 2. JavaScript is a dynamic type and interpreted language, mainly used for web interaction and front-end development. See all articles
\r\n 護照編號<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n \r\n 電話號碼<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n <\/form>\r\n<\/body>\r\n<\/html><\/pre>validata.js<\/p> $(function(){\r\n\r\n $.validator.setDefaults({ \r\n submitHandler: function(form) { \r\n form.submit(); \r\n } \r\n }); \r\n \/\/ 字符驗證 \r\n jQuery.validator.addMethod(\"stringCheck\", function(value, element) { \r\n return this.optional(element) || \/^[\\u0391-\\uFFE5\\w]+$\/.test(value); \r\n }, \"只能包括中文字、英文字母、數(shù)字和下劃線\"); \r\n \/\/ 中文字兩個字節(jié) \r\n jQuery.validator.addMethod(\"byteRangeLength\", function(value, element, param) { \r\n var length = value.length; \r\n for(var i = 0; i < value.length; i++){ \r\n if(value.charCodeAt(i) > 127){ \r\n length++; \r\n } \r\n } \r\n return this.optional(element) || ( length >= param[0] && length <= param[1] ); \r\n}, \"請確保輸入的值在3-15個字節(jié)之間(一個中文字算2個字節(jié))\"); \r\n\r\n\/\/ 身份證號碼驗證 \r\njQuery.validator.addMethod(\"isIdCardNo\", function(value, element) { \r\n return this.optional(element) || idCardNoUtil.checkIdCardNo(value); \r\n}, \"請正確輸入您的身份證號碼\"); \r\n\/\/護照編號驗證\r\n jQuery.validator.addMethod(\"passport\", function(value, element) { \r\n return this.optional(element) || checknumber(value); \r\n}, \"請正確輸入您的護照編號\"); \r\n\r\n\/\/ 手機號碼驗證 \r\njQuery.validator.addMethod(\"isMobile\", function(value, element) { \r\n var length = value.length; \r\n var mobile = \/^(((13[0-9]{1})|(15[0-9]{1}))+\\d{8})$\/; \r\n return this.optional(element) || (length == 11 && mobile.test(value)); \r\n}, \"請正確填寫您的手機號碼\"); \r\n\r\n\/\/ 電話號碼驗證 \r\njQuery.validator.addMethod(\"isTel\", function(value, element) { \r\n var tel = \/^\\d{3,4}-?\\d{7,9}$\/; \/\/電話號碼格式010-12345678 \r\n return this.optional(element) || (tel.test(value)); \r\n}, \"請正確填寫您的電話號碼\"); \r\n\r\n\/\/ 聯(lián)系電話(手機\/電話皆可)驗證 \r\njQuery.validator.addMethod(\"isPhone\", function(value,element) { \r\n var length = value.length; \r\n var mobile = \/^(((13[0-9]{1})|(15[0-9]{1}))+\\d{8})$\/; \r\n var tel = \/^\\d{3,4}-?\\d{7,9}$\/; \r\n return this.optional(element) || (tel.test(value) || mobile.test(value)); \r\n\r\n}, \"請正確填寫您的聯(lián)系電話\"); \r\n\r\n\/\/ 郵政編碼驗證 \r\njQuery.validator.addMethod(\"isZipCode\", function(value, element) { \r\n var tel = \/^[0-9]{6}$\/; \r\n return this.optional(element) || (tel.test(value)); \r\n}, \"請正確填寫您的郵政編碼\"); \r\n\r\n\/\/開始驗證 \r\n$('#commentForm').validate({ \r\n\r\n rules: { \r\n username: { \r\n required:true, \r\n stringCheck:true, \r\n byteRangeLength:[3,15] \r\n }, \r\n email:{ \r\n required:true, \r\n email:true \r\n }, \r\n phone:{ \r\n required:true, \r\n isMobile:true \r\n }, \r\n address:{ \r\n required:true, \r\n stringCheck:true, \r\n byteRangeLength:[3,100] \r\n },\r\n card:{\r\n required:true,\r\n isIdCardNo:true\r\n\r\n },\r\n passport:{\r\n required:true,\r\n passport:true\r\n\r\n }\r\n }, \r\n\r\n \r\n messages:{ \r\n username: { \r\n required: \"請?zhí)顚懹脩裘鸤", \r\n stringCheck: \"用戶名只能包括中文字、英文字母、數(shù)字和下劃線\", \r\n byteRangeLength: \"用戶名必須在3-15個字符之間(一個中文字算2個字符)\" \r\n }, \r\n email:{ \r\n required: \"請輸入一個Email地址<\/fond>\", \r\n email: \"請輸入一個有效的Email地址\" \r\n }, \r\n phone:{ \r\n required: \"請輸入您的聯(lián)系電話\", \r\n isPhone: \"請輸入一個有效的聯(lián)系電話\" \r\n }, \r\n address:{ \r\n required: \"請輸入您的聯(lián)系地址\", \r\n stringCheck: \"請正確輸入您的聯(lián)系地址\", \r\n byteRangeLength: \"請詳實您的聯(lián)系地址以便于我們聯(lián)系您\" \r\n },\r\n card:{\r\n required:\"請輸入身份證號\",\r\n isIdCardNo:\"請輸入正確的身份證號\"\r\n },\r\n passport:{\r\n required:\"請輸入護照編號\",\r\n passport:\"請輸入正確的護照編號\"\r\n }\r\n }, \r\n\r\n \r\n focusInvalid: false, \r\n onkeyup: false, \r\n\r\n \r\n errorPlacement: function(error, element) { \r\n error.appendTo( element.parent()); \r\n }, \r\n errorElement:\"em\",\r\n error:function(label){label.text(\" \").addClass(\"error\");}\r\n }); \r\n})<\/pre>card.js<\/p>var idCardNoUtil = {\r\nprovinceAndCitys: {11:\"北京\",12:\"天津\",13:\"河北\",14:\"山西\",15:\"內蒙古\",21:\"遼寧\",22:\"吉林\",23:\"黑龍江\",\r\n31:\"上海\",32:\"江蘇\",33:\"浙江\",34:\"安徽\",35:\"福建\",36:\"江西\",37:\"山東\",41:\"河南\",42:\"湖北\",43:\"湖南\",44:\"廣東\",\r\n45:\"廣西\",46:\"海南\",50:\"重慶\",51:\"四川\",52:\"貴州\",53:\"云南\",54:\"西藏\",61:\"陜西\",62:\"甘肅\",63:\"青海\",64:\"寧夏\",\r\n65:\"新疆\",71:\"臺灣\",81:\"香港\",82:\"澳門\",91:\"國外\"},\r\n\r\npowers: [\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\",\"1\",\"6\",\"3\",\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\"],\r\n\r\nparityBit: [\"1\",\"0\",\"X\",\"9\",\"8\",\"7\",\"6\",\"5\",\"4\",\"3\",\"2\"],\r\n\r\ngenders: {male:\"男\(zhòng)",female:\"女\"},\r\n\r\ncheckAddressCode: function(addressCode){\r\nvar check = \/^[1-9]\\d{5}$\/.test(addressCode);\r\nif(!check) return false;\r\nif(idCardNoUtil.provinceAndCitys[parseInt(addressCode.substring(0,2))]){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckBirthDayCode: function(birDayCode){\r\nvar check = \/^[1-9]\\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))$\/.test(birDayCode);\r\nif(!check) return false;\r\nvar yyyy = parseInt(birDayCode.substring(0,4),10);\r\nvar mm = parseInt(birDayCode.substring(4,6),10);\r\nvar dd = parseInt(birDayCode.substring(6),10);\r\nvar xdata = new Date(yyyy,mm-1,dd);\r\nif(xdata > new Date()){\r\nreturn false;\/\/生日不能大于當前日期\r\n}else if ( ( xdata.getFullYear() == yyyy ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == dd ) ){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ngetParityBit: function(idCardNo){\r\nvar id17 = idCardNo.substring(0,17);\r\nvar power = 0;\r\nfor(var i=0;i<17;i++){\r\npower += parseInt(id17.charAt(i),10) * parseInt(idCardNoUtil.powers[i]);\r\n}\r\nvar mod = power % 11;\r\nreturn idCardNoUtil.parityBit[mod];\r\n},\r\n\r\ncheckParityBit: function(idCardNo){\r\nvar parityBit = idCardNo.charAt(17).toUpperCase();\r\nif(idCardNoUtil.getParityBit(idCardNo) == parityBit){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckIdCardNo: function(idCardNo){\r\n\/\/15位和18位身份證號碼的基本校驗\r\nvar check = \/^\\d{15}|(\\d{17}(\\d|x|X))$\/.test(idCardNo);\r\nif(!check) return false;\r\n\/\/判斷長度為15位或18位\r\nif(idCardNo.length==15){\r\nreturn idCardNoUtil.check15IdCardNo(idCardNo);\r\n}else if(idCardNo.length==18){\r\nreturn idCardNoUtil.check18IdCardNo(idCardNo);\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\/\/校驗15位的身份證號碼\r\ncheck15IdCardNo: function(idCardNo){\r\n\/\/15位身份證號碼的基本校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\nvar birDayCode = '19' + idCardNo.substring(6,12);\r\n\/\/校驗日期碼\r\nreturn idCardNoUtil.checkBirthDayCode(birDayCode);\r\n},\r\n\/\/校驗18位的身份證號碼\r\ncheck18IdCardNo: function(idCardNo){\r\n\/\/18位身份證號碼的基本格式校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\n\/\/校驗日期碼\r\nvar birDayCode = idCardNo.substring(6,14);\r\ncheck = idCardNoUtil.checkBirthDayCode(birDayCode);\r\nif(!check) return false;\r\n\/\/驗證校檢碼\r\nreturn idCardNoUtil.checkParityBit(idCardNo);\r\n},\r\nformateDateCN: function(day){\r\nvar yyyy =day.substring(0,4);\r\nvar mm = day.substring(4,6);\r\nvar dd = day.substring(6);\r\nreturn yyyy + '-' + mm +'-' + dd;\r\n},\r\n\/\/獲取信息\r\ngetIdCardInfo: function(idCardNo){\r\nvar idCardInfo = {\r\ngender:\"\", \/\/性別\r\nbirthday:\"\" \/\/ 出生日期(yyyy-mm-dd)\r\n};\r\nif(idCardNo.length==15){\r\nvar aday = '19' + idCardNo.substring(6,12);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(14))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}else if(idCardNo.length==18){\r\nvar aday = idCardNo.substring(6,14);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(16))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}\r\nreturn idCardInfo;\r\n},\r\n\r\ngetId15:function(idCardNo){\r\nif(idCardNo.length==15){\r\nreturn idCardNo;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo.substring(0,6) + idCardNo.substring(8,17);\r\n}else{\r\nreturn null;\r\n}\r\n},\r\n\r\ngetId18: function(idCardNo){\r\nif(idCardNo.length==15){\r\nvar id17 = idCardNo.substring(0,6) + '19' + idCardNo.substring(6);\r\nvar parityBit = idCardNoUtil.getParityBit(id17);\r\nreturn id17 + parityBit;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo;\r\n}else{\r\nreturn null;\r\n}\r\n}\r\n};\r\n\/\/驗證護照是否正確\r\nfunction checknumber(number){\r\nvar str=number;\r\n\/\/在JavaScript中,正則表達式只能使用\"\/\"開頭和結束,不能使用雙引號\r\nvar Expression=\/(P\\d{7})|(G\\d{8})\/;\r\nvar objExp=new RegExp(Expression);\r\nif(objExp.test(str)==true){\r\n return true;\r\n}else{\r\n return false;\r\n} \r\n};<\/pre><\/p>\nMore jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! <\/p>\n<\/p>"} 国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂 Community Articles Topics Q&A Learn Course Programming Dictionary Tools Library Development tools Website Source Code PHP Libraries JS special effects Website Materials Extension plug-ins AI Tools Leisure Game Download Game Tutorials English 簡體中文 English 繁體中文 日本語 ??? Melayu Fran?ais Deutsch Login singup Home Web Front-end JS Tutorial jquery validation verifies ID number, passport, phone number, email (example code) jquery validation verifies ID number, passport, phone number, email (example code) 高洛峰 Jan 07, 2017 am 10:00 AM validata.htm<!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); }, "只能包括中文字、英文字母、數(shù)字和下劃線"); // 中文字兩個字節(jié) 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個字節(jié)之間(一個中文字算2個字節(jié))"); // 身份證號碼驗證 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-12345678 return this.optional(element) || (tel.test(value)); }, "請正確填寫您的電話號碼"); // 聯(lián)系電話(手機/電話皆可)驗證 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)); }, "請正確填寫您的聯(lián)系電話"); // 郵政編碼驗證 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: "請?zhí)顚懹脩裘?quot;, stringCheck: "用戶名只能包括中文字、英文字母、數(shù)字和下劃線", byteRangeLength: "用戶名必須在3-15個字符之間(一個中文字算2個字符)" }, email:{ required: "<font color=red>請輸入一個Email地址</fond>", email: "請輸入一個有效的Email地址" }, phone:{ required: "請輸入您的聯(lián)系電話", isPhone: "請輸入一個有效的聯(lián)系電話" }, address:{ required: "請輸入您的聯(lián)系地址", stringCheck: "請正確輸入您的聯(lián)系地址", byteRangeLength: "請詳實您的聯(lián)系地址以便于我們聯(lián)系您" }, 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.jsvar 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; } }; More jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! Statement of this Website The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn Hot AI Tools Undress AI Tool Undress images for free Undresser.AI Undress AI-powered app for creating realistic nude photos AI Clothes Remover Online AI tool for removing clothes from photos. Clothoff.io AI clothes remover Video Face Swap Swap faces in any video effortlessly with our completely free AI face swap tool! Show More Hot Article Guide: Stellar Blade Save File Location/Save File Lost/Not Saving 4 weeks ago By DDD Oguri Cap Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Agnes Tachyon Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Dune: Awakening - Advanced Planetologist Quest Walkthrough 4 weeks ago By Jack chen Date Everything: Dirk And Harper Relationship Guide 4 weeks ago By Jack chen Show More Hot Tools Notepad++7.3.1 Easy-to-use and free code editor SublimeText3 Chinese version Chinese version, very easy to use Zend Studio 13.0.1 Powerful PHP integrated development environment Dreamweaver CS6 Visual web development tools SublimeText3 Mac version God-level code editing software (SublimeText3) Show More Hot Topics Where is the login entrance for gmail email? 8638 17 Java Tutorial 1783 16 CakePHP Tutorial 1728 56 Laravel Tutorial 1579 28 PHP Tutorial 1444 31 Show More Related knowledge Java vs. JavaScript: Clearing Up the Confusion Jun 20, 2025 am 12:27 AM Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development. Javascript Comments: short explanation Jun 19, 2025 am 12:40 AM JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic How to work with dates and times in js? Jul 01, 2025 am 01:27 AM The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes. Why should you place tags at the bottom of the ? Jul 02, 2025 am 01:22 AM PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl JavaScript vs. Java: A Comprehensive Comparison for Developers Jun 20, 2025 am 12:21 AM JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor JavaScript: Exploring Data Types for Efficient Coding Jun 20, 2025 am 12:46 AM JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf What is event bubbling and capturing in the DOM? Jul 02, 2025 am 01:19 AM Event capture and bubble are two stages of event propagation in DOM. Capture is from the top layer to the target element, and bubble is from the target element to the top layer. 1. Event capture is implemented by setting the useCapture parameter of addEventListener to true; 2. Event bubble is the default behavior, useCapture is set to false or omitted; 3. Event propagation can be used to prevent event propagation; 4. Event bubbling supports event delegation to improve dynamic content processing efficiency; 5. Capture can be used to intercept events in advance, such as logging or error processing. Understanding these two phases helps to accurately control the timing and how JavaScript responds to user operations. What's the Difference Between Java and JavaScript? Jun 17, 2025 am 09:17 AM Java and JavaScript are different programming languages. 1.Java is a statically typed and compiled language, suitable for enterprise applications and large systems. 2. JavaScript is a dynamic type and interpreted language, mainly used for web interaction and front-end development. See all articles
\r\n 電話號碼<\/label>*<\/em>\r\n \r\n\r\n <\/p>\r\n <\/form>\r\n<\/body>\r\n<\/html><\/pre>validata.js<\/p> $(function(){\r\n\r\n $.validator.setDefaults({ \r\n submitHandler: function(form) { \r\n form.submit(); \r\n } \r\n }); \r\n \/\/ 字符驗證 \r\n jQuery.validator.addMethod(\"stringCheck\", function(value, element) { \r\n return this.optional(element) || \/^[\\u0391-\\uFFE5\\w]+$\/.test(value); \r\n }, \"只能包括中文字、英文字母、數(shù)字和下劃線\"); \r\n \/\/ 中文字兩個字節(jié) \r\n jQuery.validator.addMethod(\"byteRangeLength\", function(value, element, param) { \r\n var length = value.length; \r\n for(var i = 0; i < value.length; i++){ \r\n if(value.charCodeAt(i) > 127){ \r\n length++; \r\n } \r\n } \r\n return this.optional(element) || ( length >= param[0] && length <= param[1] ); \r\n}, \"請確保輸入的值在3-15個字節(jié)之間(一個中文字算2個字節(jié))\"); \r\n\r\n\/\/ 身份證號碼驗證 \r\njQuery.validator.addMethod(\"isIdCardNo\", function(value, element) { \r\n return this.optional(element) || idCardNoUtil.checkIdCardNo(value); \r\n}, \"請正確輸入您的身份證號碼\"); \r\n\/\/護照編號驗證\r\n jQuery.validator.addMethod(\"passport\", function(value, element) { \r\n return this.optional(element) || checknumber(value); \r\n}, \"請正確輸入您的護照編號\"); \r\n\r\n\/\/ 手機號碼驗證 \r\njQuery.validator.addMethod(\"isMobile\", function(value, element) { \r\n var length = value.length; \r\n var mobile = \/^(((13[0-9]{1})|(15[0-9]{1}))+\\d{8})$\/; \r\n return this.optional(element) || (length == 11 && mobile.test(value)); \r\n}, \"請正確填寫您的手機號碼\"); \r\n\r\n\/\/ 電話號碼驗證 \r\njQuery.validator.addMethod(\"isTel\", function(value, element) { \r\n var tel = \/^\\d{3,4}-?\\d{7,9}$\/; \/\/電話號碼格式010-12345678 \r\n return this.optional(element) || (tel.test(value)); \r\n}, \"請正確填寫您的電話號碼\"); \r\n\r\n\/\/ 聯(lián)系電話(手機\/電話皆可)驗證 \r\njQuery.validator.addMethod(\"isPhone\", function(value,element) { \r\n var length = value.length; \r\n var mobile = \/^(((13[0-9]{1})|(15[0-9]{1}))+\\d{8})$\/; \r\n var tel = \/^\\d{3,4}-?\\d{7,9}$\/; \r\n return this.optional(element) || (tel.test(value) || mobile.test(value)); \r\n\r\n}, \"請正確填寫您的聯(lián)系電話\"); \r\n\r\n\/\/ 郵政編碼驗證 \r\njQuery.validator.addMethod(\"isZipCode\", function(value, element) { \r\n var tel = \/^[0-9]{6}$\/; \r\n return this.optional(element) || (tel.test(value)); \r\n}, \"請正確填寫您的郵政編碼\"); \r\n\r\n\/\/開始驗證 \r\n$('#commentForm').validate({ \r\n\r\n rules: { \r\n username: { \r\n required:true, \r\n stringCheck:true, \r\n byteRangeLength:[3,15] \r\n }, \r\n email:{ \r\n required:true, \r\n email:true \r\n }, \r\n phone:{ \r\n required:true, \r\n isMobile:true \r\n }, \r\n address:{ \r\n required:true, \r\n stringCheck:true, \r\n byteRangeLength:[3,100] \r\n },\r\n card:{\r\n required:true,\r\n isIdCardNo:true\r\n\r\n },\r\n passport:{\r\n required:true,\r\n passport:true\r\n\r\n }\r\n }, \r\n\r\n \r\n messages:{ \r\n username: { \r\n required: \"請?zhí)顚懹脩裘鸤", \r\n stringCheck: \"用戶名只能包括中文字、英文字母、數(shù)字和下劃線\", \r\n byteRangeLength: \"用戶名必須在3-15個字符之間(一個中文字算2個字符)\" \r\n }, \r\n email:{ \r\n required: \"請輸入一個Email地址<\/fond>\", \r\n email: \"請輸入一個有效的Email地址\" \r\n }, \r\n phone:{ \r\n required: \"請輸入您的聯(lián)系電話\", \r\n isPhone: \"請輸入一個有效的聯(lián)系電話\" \r\n }, \r\n address:{ \r\n required: \"請輸入您的聯(lián)系地址\", \r\n stringCheck: \"請正確輸入您的聯(lián)系地址\", \r\n byteRangeLength: \"請詳實您的聯(lián)系地址以便于我們聯(lián)系您\" \r\n },\r\n card:{\r\n required:\"請輸入身份證號\",\r\n isIdCardNo:\"請輸入正確的身份證號\"\r\n },\r\n passport:{\r\n required:\"請輸入護照編號\",\r\n passport:\"請輸入正確的護照編號\"\r\n }\r\n }, \r\n\r\n \r\n focusInvalid: false, \r\n onkeyup: false, \r\n\r\n \r\n errorPlacement: function(error, element) { \r\n error.appendTo( element.parent()); \r\n }, \r\n errorElement:\"em\",\r\n error:function(label){label.text(\" \").addClass(\"error\");}\r\n }); \r\n})<\/pre>card.js<\/p>var idCardNoUtil = {\r\nprovinceAndCitys: {11:\"北京\",12:\"天津\",13:\"河北\",14:\"山西\",15:\"內蒙古\",21:\"遼寧\",22:\"吉林\",23:\"黑龍江\",\r\n31:\"上海\",32:\"江蘇\",33:\"浙江\",34:\"安徽\",35:\"福建\",36:\"江西\",37:\"山東\",41:\"河南\",42:\"湖北\",43:\"湖南\",44:\"廣東\",\r\n45:\"廣西\",46:\"海南\",50:\"重慶\",51:\"四川\",52:\"貴州\",53:\"云南\",54:\"西藏\",61:\"陜西\",62:\"甘肅\",63:\"青海\",64:\"寧夏\",\r\n65:\"新疆\",71:\"臺灣\",81:\"香港\",82:\"澳門\",91:\"國外\"},\r\n\r\npowers: [\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\",\"1\",\"6\",\"3\",\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\"],\r\n\r\nparityBit: [\"1\",\"0\",\"X\",\"9\",\"8\",\"7\",\"6\",\"5\",\"4\",\"3\",\"2\"],\r\n\r\ngenders: {male:\"男\(zhòng)",female:\"女\"},\r\n\r\ncheckAddressCode: function(addressCode){\r\nvar check = \/^[1-9]\\d{5}$\/.test(addressCode);\r\nif(!check) return false;\r\nif(idCardNoUtil.provinceAndCitys[parseInt(addressCode.substring(0,2))]){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckBirthDayCode: function(birDayCode){\r\nvar check = \/^[1-9]\\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))$\/.test(birDayCode);\r\nif(!check) return false;\r\nvar yyyy = parseInt(birDayCode.substring(0,4),10);\r\nvar mm = parseInt(birDayCode.substring(4,6),10);\r\nvar dd = parseInt(birDayCode.substring(6),10);\r\nvar xdata = new Date(yyyy,mm-1,dd);\r\nif(xdata > new Date()){\r\nreturn false;\/\/生日不能大于當前日期\r\n}else if ( ( xdata.getFullYear() == yyyy ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == dd ) ){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ngetParityBit: function(idCardNo){\r\nvar id17 = idCardNo.substring(0,17);\r\nvar power = 0;\r\nfor(var i=0;i<17;i++){\r\npower += parseInt(id17.charAt(i),10) * parseInt(idCardNoUtil.powers[i]);\r\n}\r\nvar mod = power % 11;\r\nreturn idCardNoUtil.parityBit[mod];\r\n},\r\n\r\ncheckParityBit: function(idCardNo){\r\nvar parityBit = idCardNo.charAt(17).toUpperCase();\r\nif(idCardNoUtil.getParityBit(idCardNo) == parityBit){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckIdCardNo: function(idCardNo){\r\n\/\/15位和18位身份證號碼的基本校驗\r\nvar check = \/^\\d{15}|(\\d{17}(\\d|x|X))$\/.test(idCardNo);\r\nif(!check) return false;\r\n\/\/判斷長度為15位或18位\r\nif(idCardNo.length==15){\r\nreturn idCardNoUtil.check15IdCardNo(idCardNo);\r\n}else if(idCardNo.length==18){\r\nreturn idCardNoUtil.check18IdCardNo(idCardNo);\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\/\/校驗15位的身份證號碼\r\ncheck15IdCardNo: function(idCardNo){\r\n\/\/15位身份證號碼的基本校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\nvar birDayCode = '19' + idCardNo.substring(6,12);\r\n\/\/校驗日期碼\r\nreturn idCardNoUtil.checkBirthDayCode(birDayCode);\r\n},\r\n\/\/校驗18位的身份證號碼\r\ncheck18IdCardNo: function(idCardNo){\r\n\/\/18位身份證號碼的基本格式校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\n\/\/校驗日期碼\r\nvar birDayCode = idCardNo.substring(6,14);\r\ncheck = idCardNoUtil.checkBirthDayCode(birDayCode);\r\nif(!check) return false;\r\n\/\/驗證校檢碼\r\nreturn idCardNoUtil.checkParityBit(idCardNo);\r\n},\r\nformateDateCN: function(day){\r\nvar yyyy =day.substring(0,4);\r\nvar mm = day.substring(4,6);\r\nvar dd = day.substring(6);\r\nreturn yyyy + '-' + mm +'-' + dd;\r\n},\r\n\/\/獲取信息\r\ngetIdCardInfo: function(idCardNo){\r\nvar idCardInfo = {\r\ngender:\"\", \/\/性別\r\nbirthday:\"\" \/\/ 出生日期(yyyy-mm-dd)\r\n};\r\nif(idCardNo.length==15){\r\nvar aday = '19' + idCardNo.substring(6,12);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(14))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}else if(idCardNo.length==18){\r\nvar aday = idCardNo.substring(6,14);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(16))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}\r\nreturn idCardInfo;\r\n},\r\n\r\ngetId15:function(idCardNo){\r\nif(idCardNo.length==15){\r\nreturn idCardNo;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo.substring(0,6) + idCardNo.substring(8,17);\r\n}else{\r\nreturn null;\r\n}\r\n},\r\n\r\ngetId18: function(idCardNo){\r\nif(idCardNo.length==15){\r\nvar id17 = idCardNo.substring(0,6) + '19' + idCardNo.substring(6);\r\nvar parityBit = idCardNoUtil.getParityBit(id17);\r\nreturn id17 + parityBit;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo;\r\n}else{\r\nreturn null;\r\n}\r\n}\r\n};\r\n\/\/驗證護照是否正確\r\nfunction checknumber(number){\r\nvar str=number;\r\n\/\/在JavaScript中,正則表達式只能使用\"\/\"開頭和結束,不能使用雙引號\r\nvar Expression=\/(P\\d{7})|(G\\d{8})\/;\r\nvar objExp=new RegExp(Expression);\r\nif(objExp.test(str)==true){\r\n return true;\r\n}else{\r\n return false;\r\n} \r\n};<\/pre><\/p>\nMore jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! <\/p>\n<\/p>"} 国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂 Community Articles Topics Q&A Learn Course Programming Dictionary Tools Library Development tools Website Source Code PHP Libraries JS special effects Website Materials Extension plug-ins AI Tools Leisure Game Download Game Tutorials English 簡體中文 English 繁體中文 日本語 ??? Melayu Fran?ais Deutsch Login singup Home Web Front-end JS Tutorial jquery validation verifies ID number, passport, phone number, email (example code) jquery validation verifies ID number, passport, phone number, email (example code) 高洛峰 Jan 07, 2017 am 10:00 AM validata.htm<!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); }, "只能包括中文字、英文字母、數(shù)字和下劃線"); // 中文字兩個字節(jié) 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個字節(jié)之間(一個中文字算2個字節(jié))"); // 身份證號碼驗證 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-12345678 return this.optional(element) || (tel.test(value)); }, "請正確填寫您的電話號碼"); // 聯(lián)系電話(手機/電話皆可)驗證 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)); }, "請正確填寫您的聯(lián)系電話"); // 郵政編碼驗證 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: "請?zhí)顚懹脩裘?quot;, stringCheck: "用戶名只能包括中文字、英文字母、數(shù)字和下劃線", byteRangeLength: "用戶名必須在3-15個字符之間(一個中文字算2個字符)" }, email:{ required: "<font color=red>請輸入一個Email地址</fond>", email: "請輸入一個有效的Email地址" }, phone:{ required: "請輸入您的聯(lián)系電話", isPhone: "請輸入一個有效的聯(lián)系電話" }, address:{ required: "請輸入您的聯(lián)系地址", stringCheck: "請正確輸入您的聯(lián)系地址", byteRangeLength: "請詳實您的聯(lián)系地址以便于我們聯(lián)系您" }, 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.jsvar 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; } }; More jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! Statement of this Website The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn Hot AI Tools Undress AI Tool Undress images for free Undresser.AI Undress AI-powered app for creating realistic nude photos AI Clothes Remover Online AI tool for removing clothes from photos. Clothoff.io AI clothes remover Video Face Swap Swap faces in any video effortlessly with our completely free AI face swap tool! Show More Hot Article Guide: Stellar Blade Save File Location/Save File Lost/Not Saving 4 weeks ago By DDD Oguri Cap Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Agnes Tachyon Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Dune: Awakening - Advanced Planetologist Quest Walkthrough 4 weeks ago By Jack chen Date Everything: Dirk And Harper Relationship Guide 4 weeks ago By Jack chen Show More Hot Tools Notepad++7.3.1 Easy-to-use and free code editor SublimeText3 Chinese version Chinese version, very easy to use Zend Studio 13.0.1 Powerful PHP integrated development environment Dreamweaver CS6 Visual web development tools SublimeText3 Mac version God-level code editing software (SublimeText3) Show More Hot Topics Where is the login entrance for gmail email? 8638 17 Java Tutorial 1783 16 CakePHP Tutorial 1728 56 Laravel Tutorial 1579 28 PHP Tutorial 1444 31 Show More Related knowledge Java vs. JavaScript: Clearing Up the Confusion Jun 20, 2025 am 12:27 AM Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development. Javascript Comments: short explanation Jun 19, 2025 am 12:40 AM JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic How to work with dates and times in js? Jul 01, 2025 am 01:27 AM The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes. Why should you place tags at the bottom of the ? Jul 02, 2025 am 01:22 AM PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl JavaScript vs. Java: A Comprehensive Comparison for Developers Jun 20, 2025 am 12:21 AM JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor JavaScript: Exploring Data Types for Efficient Coding Jun 20, 2025 am 12:46 AM JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf What is event bubbling and capturing in the DOM? Jul 02, 2025 am 01:19 AM Event capture and bubble are two stages of event propagation in DOM. Capture is from the top layer to the target element, and bubble is from the target element to the top layer. 1. Event capture is implemented by setting the useCapture parameter of addEventListener to true; 2. Event bubble is the default behavior, useCapture is set to false or omitted; 3. Event propagation can be used to prevent event propagation; 4. Event bubbling supports event delegation to improve dynamic content processing efficiency; 5. Capture can be used to intercept events in advance, such as logging or error processing. Understanding these two phases helps to accurately control the timing and how JavaScript responds to user operations. What's the Difference Between Java and JavaScript? Jun 17, 2025 am 09:17 AM Java and JavaScript are different programming languages. 1.Java is a statically typed and compiled language, suitable for enterprise applications and large systems. 2. JavaScript is a dynamic type and interpreted language, mainly used for web interaction and front-end development. See all articles
validata.js<\/p>
$(function(){\r\n\r\n $.validator.setDefaults({ \r\n submitHandler: function(form) { \r\n form.submit(); \r\n } \r\n }); \r\n \/\/ 字符驗證 \r\n jQuery.validator.addMethod(\"stringCheck\", function(value, element) { \r\n return this.optional(element) || \/^[\\u0391-\\uFFE5\\w]+$\/.test(value); \r\n }, \"只能包括中文字、英文字母、數(shù)字和下劃線\"); \r\n \/\/ 中文字兩個字節(jié) \r\n jQuery.validator.addMethod(\"byteRangeLength\", function(value, element, param) { \r\n var length = value.length; \r\n for(var i = 0; i < value.length; i++){ \r\n if(value.charCodeAt(i) > 127){ \r\n length++; \r\n } \r\n } \r\n return this.optional(element) || ( length >= param[0] && length <= param[1] ); \r\n}, \"請確保輸入的值在3-15個字節(jié)之間(一個中文字算2個字節(jié))\"); \r\n\r\n\/\/ 身份證號碼驗證 \r\njQuery.validator.addMethod(\"isIdCardNo\", function(value, element) { \r\n return this.optional(element) || idCardNoUtil.checkIdCardNo(value); \r\n}, \"請正確輸入您的身份證號碼\"); \r\n\/\/護照編號驗證\r\n jQuery.validator.addMethod(\"passport\", function(value, element) { \r\n return this.optional(element) || checknumber(value); \r\n}, \"請正確輸入您的護照編號\"); \r\n\r\n\/\/ 手機號碼驗證 \r\njQuery.validator.addMethod(\"isMobile\", function(value, element) { \r\n var length = value.length; \r\n var mobile = \/^(((13[0-9]{1})|(15[0-9]{1}))+\\d{8})$\/; \r\n return this.optional(element) || (length == 11 && mobile.test(value)); \r\n}, \"請正確填寫您的手機號碼\"); \r\n\r\n\/\/ 電話號碼驗證 \r\njQuery.validator.addMethod(\"isTel\", function(value, element) { \r\n var tel = \/^\\d{3,4}-?\\d{7,9}$\/; \/\/電話號碼格式010-12345678 \r\n return this.optional(element) || (tel.test(value)); \r\n}, \"請正確填寫您的電話號碼\"); \r\n\r\n\/\/ 聯(lián)系電話(手機\/電話皆可)驗證 \r\njQuery.validator.addMethod(\"isPhone\", function(value,element) { \r\n var length = value.length; \r\n var mobile = \/^(((13[0-9]{1})|(15[0-9]{1}))+\\d{8})$\/; \r\n var tel = \/^\\d{3,4}-?\\d{7,9}$\/; \r\n return this.optional(element) || (tel.test(value) || mobile.test(value)); \r\n\r\n}, \"請正確填寫您的聯(lián)系電話\"); \r\n\r\n\/\/ 郵政編碼驗證 \r\njQuery.validator.addMethod(\"isZipCode\", function(value, element) { \r\n var tel = \/^[0-9]{6}$\/; \r\n return this.optional(element) || (tel.test(value)); \r\n}, \"請正確填寫您的郵政編碼\"); \r\n\r\n\/\/開始驗證 \r\n$('#commentForm').validate({ \r\n\r\n rules: { \r\n username: { \r\n required:true, \r\n stringCheck:true, \r\n byteRangeLength:[3,15] \r\n }, \r\n email:{ \r\n required:true, \r\n email:true \r\n }, \r\n phone:{ \r\n required:true, \r\n isMobile:true \r\n }, \r\n address:{ \r\n required:true, \r\n stringCheck:true, \r\n byteRangeLength:[3,100] \r\n },\r\n card:{\r\n required:true,\r\n isIdCardNo:true\r\n\r\n },\r\n passport:{\r\n required:true,\r\n passport:true\r\n\r\n }\r\n }, \r\n\r\n \r\n messages:{ \r\n username: { \r\n required: \"請?zhí)顚懹脩裘鸤", \r\n stringCheck: \"用戶名只能包括中文字、英文字母、數(shù)字和下劃線\", \r\n byteRangeLength: \"用戶名必須在3-15個字符之間(一個中文字算2個字符)\" \r\n }, \r\n email:{ \r\n required: \"請輸入一個Email地址<\/fond>\", \r\n email: \"請輸入一個有效的Email地址\" \r\n }, \r\n phone:{ \r\n required: \"請輸入您的聯(lián)系電話\", \r\n isPhone: \"請輸入一個有效的聯(lián)系電話\" \r\n }, \r\n address:{ \r\n required: \"請輸入您的聯(lián)系地址\", \r\n stringCheck: \"請正確輸入您的聯(lián)系地址\", \r\n byteRangeLength: \"請詳實您的聯(lián)系地址以便于我們聯(lián)系您\" \r\n },\r\n card:{\r\n required:\"請輸入身份證號\",\r\n isIdCardNo:\"請輸入正確的身份證號\"\r\n },\r\n passport:{\r\n required:\"請輸入護照編號\",\r\n passport:\"請輸入正確的護照編號\"\r\n }\r\n }, \r\n\r\n \r\n focusInvalid: false, \r\n onkeyup: false, \r\n\r\n \r\n errorPlacement: function(error, element) { \r\n error.appendTo( element.parent()); \r\n }, \r\n errorElement:\"em\",\r\n error:function(label){label.text(\" \").addClass(\"error\");}\r\n }); \r\n})<\/pre>card.js<\/p>var idCardNoUtil = {\r\nprovinceAndCitys: {11:\"北京\",12:\"天津\",13:\"河北\",14:\"山西\",15:\"內蒙古\",21:\"遼寧\",22:\"吉林\",23:\"黑龍江\",\r\n31:\"上海\",32:\"江蘇\",33:\"浙江\",34:\"安徽\",35:\"福建\",36:\"江西\",37:\"山東\",41:\"河南\",42:\"湖北\",43:\"湖南\",44:\"廣東\",\r\n45:\"廣西\",46:\"海南\",50:\"重慶\",51:\"四川\",52:\"貴州\",53:\"云南\",54:\"西藏\",61:\"陜西\",62:\"甘肅\",63:\"青海\",64:\"寧夏\",\r\n65:\"新疆\",71:\"臺灣\",81:\"香港\",82:\"澳門\",91:\"國外\"},\r\n\r\npowers: [\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\",\"1\",\"6\",\"3\",\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\"],\r\n\r\nparityBit: [\"1\",\"0\",\"X\",\"9\",\"8\",\"7\",\"6\",\"5\",\"4\",\"3\",\"2\"],\r\n\r\ngenders: {male:\"男\(zhòng)",female:\"女\"},\r\n\r\ncheckAddressCode: function(addressCode){\r\nvar check = \/^[1-9]\\d{5}$\/.test(addressCode);\r\nif(!check) return false;\r\nif(idCardNoUtil.provinceAndCitys[parseInt(addressCode.substring(0,2))]){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckBirthDayCode: function(birDayCode){\r\nvar check = \/^[1-9]\\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))$\/.test(birDayCode);\r\nif(!check) return false;\r\nvar yyyy = parseInt(birDayCode.substring(0,4),10);\r\nvar mm = parseInt(birDayCode.substring(4,6),10);\r\nvar dd = parseInt(birDayCode.substring(6),10);\r\nvar xdata = new Date(yyyy,mm-1,dd);\r\nif(xdata > new Date()){\r\nreturn false;\/\/生日不能大于當前日期\r\n}else if ( ( xdata.getFullYear() == yyyy ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == dd ) ){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ngetParityBit: function(idCardNo){\r\nvar id17 = idCardNo.substring(0,17);\r\nvar power = 0;\r\nfor(var i=0;i<17;i++){\r\npower += parseInt(id17.charAt(i),10) * parseInt(idCardNoUtil.powers[i]);\r\n}\r\nvar mod = power % 11;\r\nreturn idCardNoUtil.parityBit[mod];\r\n},\r\n\r\ncheckParityBit: function(idCardNo){\r\nvar parityBit = idCardNo.charAt(17).toUpperCase();\r\nif(idCardNoUtil.getParityBit(idCardNo) == parityBit){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckIdCardNo: function(idCardNo){\r\n\/\/15位和18位身份證號碼的基本校驗\r\nvar check = \/^\\d{15}|(\\d{17}(\\d|x|X))$\/.test(idCardNo);\r\nif(!check) return false;\r\n\/\/判斷長度為15位或18位\r\nif(idCardNo.length==15){\r\nreturn idCardNoUtil.check15IdCardNo(idCardNo);\r\n}else if(idCardNo.length==18){\r\nreturn idCardNoUtil.check18IdCardNo(idCardNo);\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\/\/校驗15位的身份證號碼\r\ncheck15IdCardNo: function(idCardNo){\r\n\/\/15位身份證號碼的基本校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\nvar birDayCode = '19' + idCardNo.substring(6,12);\r\n\/\/校驗日期碼\r\nreturn idCardNoUtil.checkBirthDayCode(birDayCode);\r\n},\r\n\/\/校驗18位的身份證號碼\r\ncheck18IdCardNo: function(idCardNo){\r\n\/\/18位身份證號碼的基本格式校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\n\/\/校驗日期碼\r\nvar birDayCode = idCardNo.substring(6,14);\r\ncheck = idCardNoUtil.checkBirthDayCode(birDayCode);\r\nif(!check) return false;\r\n\/\/驗證校檢碼\r\nreturn idCardNoUtil.checkParityBit(idCardNo);\r\n},\r\nformateDateCN: function(day){\r\nvar yyyy =day.substring(0,4);\r\nvar mm = day.substring(4,6);\r\nvar dd = day.substring(6);\r\nreturn yyyy + '-' + mm +'-' + dd;\r\n},\r\n\/\/獲取信息\r\ngetIdCardInfo: function(idCardNo){\r\nvar idCardInfo = {\r\ngender:\"\", \/\/性別\r\nbirthday:\"\" \/\/ 出生日期(yyyy-mm-dd)\r\n};\r\nif(idCardNo.length==15){\r\nvar aday = '19' + idCardNo.substring(6,12);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(14))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}else if(idCardNo.length==18){\r\nvar aday = idCardNo.substring(6,14);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(16))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}\r\nreturn idCardInfo;\r\n},\r\n\r\ngetId15:function(idCardNo){\r\nif(idCardNo.length==15){\r\nreturn idCardNo;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo.substring(0,6) + idCardNo.substring(8,17);\r\n}else{\r\nreturn null;\r\n}\r\n},\r\n\r\ngetId18: function(idCardNo){\r\nif(idCardNo.length==15){\r\nvar id17 = idCardNo.substring(0,6) + '19' + idCardNo.substring(6);\r\nvar parityBit = idCardNoUtil.getParityBit(id17);\r\nreturn id17 + parityBit;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo;\r\n}else{\r\nreturn null;\r\n}\r\n}\r\n};\r\n\/\/驗證護照是否正確\r\nfunction checknumber(number){\r\nvar str=number;\r\n\/\/在JavaScript中,正則表達式只能使用\"\/\"開頭和結束,不能使用雙引號\r\nvar Expression=\/(P\\d{7})|(G\\d{8})\/;\r\nvar objExp=new RegExp(Expression);\r\nif(objExp.test(str)==true){\r\n return true;\r\n}else{\r\n return false;\r\n} \r\n};<\/pre><\/p>\nMore jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! <\/p>\n<\/p>"} 国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂 Community Articles Topics Q&A Learn Course Programming Dictionary Tools Library Development tools Website Source Code PHP Libraries JS special effects Website Materials Extension plug-ins AI Tools Leisure Game Download Game Tutorials English 簡體中文 English 繁體中文 日本語 ??? Melayu Fran?ais Deutsch Login singup Home Web Front-end JS Tutorial jquery validation verifies ID number, passport, phone number, email (example code) jquery validation verifies ID number, passport, phone number, email (example code) 高洛峰 Jan 07, 2017 am 10:00 AM validata.htm<!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); }, "只能包括中文字、英文字母、數(shù)字和下劃線"); // 中文字兩個字節(jié) 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個字節(jié)之間(一個中文字算2個字節(jié))"); // 身份證號碼驗證 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-12345678 return this.optional(element) || (tel.test(value)); }, "請正確填寫您的電話號碼"); // 聯(lián)系電話(手機/電話皆可)驗證 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)); }, "請正確填寫您的聯(lián)系電話"); // 郵政編碼驗證 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: "請?zhí)顚懹脩裘?quot;, stringCheck: "用戶名只能包括中文字、英文字母、數(shù)字和下劃線", byteRangeLength: "用戶名必須在3-15個字符之間(一個中文字算2個字符)" }, email:{ required: "<font color=red>請輸入一個Email地址</fond>", email: "請輸入一個有效的Email地址" }, phone:{ required: "請輸入您的聯(lián)系電話", isPhone: "請輸入一個有效的聯(lián)系電話" }, address:{ required: "請輸入您的聯(lián)系地址", stringCheck: "請正確輸入您的聯(lián)系地址", byteRangeLength: "請詳實您的聯(lián)系地址以便于我們聯(lián)系您" }, 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.jsvar 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; } }; More jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! Statement of this Website The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn Hot AI Tools Undress AI Tool Undress images for free Undresser.AI Undress AI-powered app for creating realistic nude photos AI Clothes Remover Online AI tool for removing clothes from photos. Clothoff.io AI clothes remover Video Face Swap Swap faces in any video effortlessly with our completely free AI face swap tool! Show More Hot Article Guide: Stellar Blade Save File Location/Save File Lost/Not Saving 4 weeks ago By DDD Oguri Cap Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Agnes Tachyon Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Dune: Awakening - Advanced Planetologist Quest Walkthrough 4 weeks ago By Jack chen Date Everything: Dirk And Harper Relationship Guide 4 weeks ago By Jack chen Show More Hot Tools Notepad++7.3.1 Easy-to-use and free code editor SublimeText3 Chinese version Chinese version, very easy to use Zend Studio 13.0.1 Powerful PHP integrated development environment Dreamweaver CS6 Visual web development tools SublimeText3 Mac version God-level code editing software (SublimeText3) Show More Hot Topics Where is the login entrance for gmail email? 8638 17 Java Tutorial 1783 16 CakePHP Tutorial 1728 56 Laravel Tutorial 1579 28 PHP Tutorial 1444 31 Show More Related knowledge Java vs. JavaScript: Clearing Up the Confusion Jun 20, 2025 am 12:27 AM Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development. Javascript Comments: short explanation Jun 19, 2025 am 12:40 AM JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic How to work with dates and times in js? Jul 01, 2025 am 01:27 AM The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes. Why should you place tags at the bottom of the ? Jul 02, 2025 am 01:22 AM PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl JavaScript vs. Java: A Comprehensive Comparison for Developers Jun 20, 2025 am 12:21 AM JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor JavaScript: Exploring Data Types for Efficient Coding Jun 20, 2025 am 12:46 AM JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf What is event bubbling and capturing in the DOM? Jul 02, 2025 am 01:19 AM Event capture and bubble are two stages of event propagation in DOM. Capture is from the top layer to the target element, and bubble is from the target element to the top layer. 1. Event capture is implemented by setting the useCapture parameter of addEventListener to true; 2. Event bubble is the default behavior, useCapture is set to false or omitted; 3. Event propagation can be used to prevent event propagation; 4. Event bubbling supports event delegation to improve dynamic content processing efficiency; 5. Capture can be used to intercept events in advance, such as logging or error processing. Understanding these two phases helps to accurately control the timing and how JavaScript responds to user operations. What's the Difference Between Java and JavaScript? Jun 17, 2025 am 09:17 AM Java and JavaScript are different programming languages. 1.Java is a statically typed and compiled language, suitable for enterprise applications and large systems. 2. JavaScript is a dynamic type and interpreted language, mainly used for web interaction and front-end development. See all articles
card.js<\/p>
var idCardNoUtil = {\r\nprovinceAndCitys: {11:\"北京\",12:\"天津\",13:\"河北\",14:\"山西\",15:\"內蒙古\",21:\"遼寧\",22:\"吉林\",23:\"黑龍江\",\r\n31:\"上海\",32:\"江蘇\",33:\"浙江\",34:\"安徽\",35:\"福建\",36:\"江西\",37:\"山東\",41:\"河南\",42:\"湖北\",43:\"湖南\",44:\"廣東\",\r\n45:\"廣西\",46:\"海南\",50:\"重慶\",51:\"四川\",52:\"貴州\",53:\"云南\",54:\"西藏\",61:\"陜西\",62:\"甘肅\",63:\"青海\",64:\"寧夏\",\r\n65:\"新疆\",71:\"臺灣\",81:\"香港\",82:\"澳門\",91:\"國外\"},\r\n\r\npowers: [\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\",\"1\",\"6\",\"3\",\"7\",\"9\",\"10\",\"5\",\"8\",\"4\",\"2\"],\r\n\r\nparityBit: [\"1\",\"0\",\"X\",\"9\",\"8\",\"7\",\"6\",\"5\",\"4\",\"3\",\"2\"],\r\n\r\ngenders: {male:\"男\(zhòng)",female:\"女\"},\r\n\r\ncheckAddressCode: function(addressCode){\r\nvar check = \/^[1-9]\\d{5}$\/.test(addressCode);\r\nif(!check) return false;\r\nif(idCardNoUtil.provinceAndCitys[parseInt(addressCode.substring(0,2))]){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckBirthDayCode: function(birDayCode){\r\nvar check = \/^[1-9]\\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))$\/.test(birDayCode);\r\nif(!check) return false;\r\nvar yyyy = parseInt(birDayCode.substring(0,4),10);\r\nvar mm = parseInt(birDayCode.substring(4,6),10);\r\nvar dd = parseInt(birDayCode.substring(6),10);\r\nvar xdata = new Date(yyyy,mm-1,dd);\r\nif(xdata > new Date()){\r\nreturn false;\/\/生日不能大于當前日期\r\n}else if ( ( xdata.getFullYear() == yyyy ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == dd ) ){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ngetParityBit: function(idCardNo){\r\nvar id17 = idCardNo.substring(0,17);\r\nvar power = 0;\r\nfor(var i=0;i<17;i++){\r\npower += parseInt(id17.charAt(i),10) * parseInt(idCardNoUtil.powers[i]);\r\n}\r\nvar mod = power % 11;\r\nreturn idCardNoUtil.parityBit[mod];\r\n},\r\n\r\ncheckParityBit: function(idCardNo){\r\nvar parityBit = idCardNo.charAt(17).toUpperCase();\r\nif(idCardNoUtil.getParityBit(idCardNo) == parityBit){\r\nreturn true;\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\r\ncheckIdCardNo: function(idCardNo){\r\n\/\/15位和18位身份證號碼的基本校驗\r\nvar check = \/^\\d{15}|(\\d{17}(\\d|x|X))$\/.test(idCardNo);\r\nif(!check) return false;\r\n\/\/判斷長度為15位或18位\r\nif(idCardNo.length==15){\r\nreturn idCardNoUtil.check15IdCardNo(idCardNo);\r\n}else if(idCardNo.length==18){\r\nreturn idCardNoUtil.check18IdCardNo(idCardNo);\r\n}else{\r\nreturn false;\r\n}\r\n},\r\n\/\/校驗15位的身份證號碼\r\ncheck15IdCardNo: function(idCardNo){\r\n\/\/15位身份證號碼的基本校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\nvar birDayCode = '19' + idCardNo.substring(6,12);\r\n\/\/校驗日期碼\r\nreturn idCardNoUtil.checkBirthDayCode(birDayCode);\r\n},\r\n\/\/校驗18位的身份證號碼\r\ncheck18IdCardNo: function(idCardNo){\r\n\/\/18位身份證號碼的基本格式校驗\r\nvar 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);\r\nif(!check) return false;\r\n\/\/校驗地址碼\r\nvar addressCode = idCardNo.substring(0,6);\r\ncheck = idCardNoUtil.checkAddressCode(addressCode);\r\nif(!check) return false;\r\n\/\/校驗日期碼\r\nvar birDayCode = idCardNo.substring(6,14);\r\ncheck = idCardNoUtil.checkBirthDayCode(birDayCode);\r\nif(!check) return false;\r\n\/\/驗證校檢碼\r\nreturn idCardNoUtil.checkParityBit(idCardNo);\r\n},\r\nformateDateCN: function(day){\r\nvar yyyy =day.substring(0,4);\r\nvar mm = day.substring(4,6);\r\nvar dd = day.substring(6);\r\nreturn yyyy + '-' + mm +'-' + dd;\r\n},\r\n\/\/獲取信息\r\ngetIdCardInfo: function(idCardNo){\r\nvar idCardInfo = {\r\ngender:\"\", \/\/性別\r\nbirthday:\"\" \/\/ 出生日期(yyyy-mm-dd)\r\n};\r\nif(idCardNo.length==15){\r\nvar aday = '19' + idCardNo.substring(6,12);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(14))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}else if(idCardNo.length==18){\r\nvar aday = idCardNo.substring(6,14);\r\nidCardInfo.birthday=idCardNoUtil.formateDateCN(aday);\r\nif(parseInt(idCardNo.charAt(16))%2==0){\r\nidCardInfo.gender=idCardNoUtil.genders.female;\r\n}else{\r\nidCardInfo.gender=idCardNoUtil.genders.male;\r\n}\r\n}\r\nreturn idCardInfo;\r\n},\r\n\r\ngetId15:function(idCardNo){\r\nif(idCardNo.length==15){\r\nreturn idCardNo;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo.substring(0,6) + idCardNo.substring(8,17);\r\n}else{\r\nreturn null;\r\n}\r\n},\r\n\r\ngetId18: function(idCardNo){\r\nif(idCardNo.length==15){\r\nvar id17 = idCardNo.substring(0,6) + '19' + idCardNo.substring(6);\r\nvar parityBit = idCardNoUtil.getParityBit(id17);\r\nreturn id17 + parityBit;\r\n}else if(idCardNo.length==18){\r\nreturn idCardNo;\r\n}else{\r\nreturn null;\r\n}\r\n}\r\n};\r\n\/\/驗證護照是否正確\r\nfunction checknumber(number){\r\nvar str=number;\r\n\/\/在JavaScript中,正則表達式只能使用\"\/\"開頭和結束,不能使用雙引號\r\nvar Expression=\/(P\\d{7})|(G\\d{8})\/;\r\nvar objExp=new RegExp(Expression);\r\nif(objExp.test(str)==true){\r\n return true;\r\n}else{\r\n return false;\r\n} \r\n};<\/pre><\/p>\nMore jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! <\/p>\n<\/p>"} 国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂 Community Articles Topics Q&A Learn Course Programming Dictionary Tools Library Development tools Website Source Code PHP Libraries JS special effects Website Materials Extension plug-ins AI Tools Leisure Game Download Game Tutorials English 簡體中文 English 繁體中文 日本語 ??? Melayu Fran?ais Deutsch Login singup Home Web Front-end JS Tutorial jquery validation verifies ID number, passport, phone number, email (example code) jquery validation verifies ID number, passport, phone number, email (example code) 高洛峰 Jan 07, 2017 am 10:00 AM validata.htm<!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); }, "只能包括中文字、英文字母、數(shù)字和下劃線"); // 中文字兩個字節(jié) 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個字節(jié)之間(一個中文字算2個字節(jié))"); // 身份證號碼驗證 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-12345678 return this.optional(element) || (tel.test(value)); }, "請正確填寫您的電話號碼"); // 聯(lián)系電話(手機/電話皆可)驗證 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)); }, "請正確填寫您的聯(lián)系電話"); // 郵政編碼驗證 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: "請?zhí)顚懹脩裘?quot;, stringCheck: "用戶名只能包括中文字、英文字母、數(shù)字和下劃線", byteRangeLength: "用戶名必須在3-15個字符之間(一個中文字算2個字符)" }, email:{ required: "<font color=red>請輸入一個Email地址</fond>", email: "請輸入一個有效的Email地址" }, phone:{ required: "請輸入您的聯(lián)系電話", isPhone: "請輸入一個有效的聯(lián)系電話" }, address:{ required: "請輸入您的聯(lián)系地址", stringCheck: "請正確輸入您的聯(lián)系地址", byteRangeLength: "請詳實您的聯(lián)系地址以便于我們聯(lián)系您" }, 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.jsvar 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; } }; More jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! Statement of this Website The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn Hot AI Tools Undress AI Tool Undress images for free Undresser.AI Undress AI-powered app for creating realistic nude photos AI Clothes Remover Online AI tool for removing clothes from photos. Clothoff.io AI clothes remover Video Face Swap Swap faces in any video effortlessly with our completely free AI face swap tool! Show More Hot Article Guide: Stellar Blade Save File Location/Save File Lost/Not Saving 4 weeks ago By DDD Oguri Cap Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Agnes Tachyon Build Guide | A Pretty Derby Musume 2 weeks ago By Jack chen Dune: Awakening - Advanced Planetologist Quest Walkthrough 4 weeks ago By Jack chen Date Everything: Dirk And Harper Relationship Guide 4 weeks ago By Jack chen Show More Hot Tools Notepad++7.3.1 Easy-to-use and free code editor SublimeText3 Chinese version Chinese version, very easy to use Zend Studio 13.0.1 Powerful PHP integrated development environment Dreamweaver CS6 Visual web development tools SublimeText3 Mac version God-level code editing software (SublimeText3) Show More Hot Topics Where is the login entrance for gmail email? 8638 17 Java Tutorial 1783 16 CakePHP Tutorial 1728 56 Laravel Tutorial 1579 28 PHP Tutorial 1444 31 Show More Related knowledge Java vs. JavaScript: Clearing Up the Confusion Jun 20, 2025 am 12:27 AM Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development. Javascript Comments: short explanation Jun 19, 2025 am 12:40 AM JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic How to work with dates and times in js? Jul 01, 2025 am 01:27 AM The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes. Why should you place tags at the bottom of the ? Jul 02, 2025 am 01:22 AM PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl JavaScript vs. Java: A Comprehensive Comparison for Developers Jun 20, 2025 am 12:21 AM JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor JavaScript: Exploring Data Types for Efficient Coding Jun 20, 2025 am 12:46 AM JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf What is event bubbling and capturing in the DOM? Jul 02, 2025 am 01:19 AM Event capture and bubble are two stages of event propagation in DOM. Capture is from the top layer to the target element, and bubble is from the target element to the top layer. 1. Event capture is implemented by setting the useCapture parameter of addEventListener to true; 2. Event bubble is the default behavior, useCapture is set to false or omitted; 3. Event propagation can be used to prevent event propagation; 4. Event bubbling supports event delegation to improve dynamic content processing efficiency; 5. Capture can be used to intercept events in advance, such as logging or error processing. Understanding these two phases helps to accurately control the timing and how JavaScript responds to user operations. What's the Difference Between Java and JavaScript? Jun 17, 2025 am 09:17 AM Java and JavaScript are different programming languages. 1.Java is a statically typed and compiled language, suitable for enterprise applications and large systems. 2. JavaScript is a dynamic type and interpreted language, mainly used for web interaction and front-end development. See all articles
<\/p>\n
More jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website! <\/p>\n
<\/p>"}
validata.htm
<!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); }, "只能包括中文字、英文字母、數(shù)字和下劃線"); // 中文字兩個字節(jié) 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個字節(jié)之間(一個中文字算2個字節(jié))"); // 身份證號碼驗證 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-12345678 return this.optional(element) || (tel.test(value)); }, "請正確填寫您的電話號碼"); // 聯(lián)系電話(手機/電話皆可)驗證 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)); }, "請正確填寫您的聯(lián)系電話"); // 郵政編碼驗證 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: "請?zhí)顚懹脩裘?quot;, stringCheck: "用戶名只能包括中文字、英文字母、數(shù)字和下劃線", byteRangeLength: "用戶名必須在3-15個字符之間(一個中文字算2個字符)" }, email:{ required: "<font color=red>請輸入一個Email地址</fond>", email: "請輸入一個有效的Email地址" }, phone:{ required: "請輸入您的聯(lián)系電話", isPhone: "請輸入一個有效的聯(lián)系電話" }, address:{ required: "請輸入您的聯(lián)系地址", stringCheck: "請正確輸入您的聯(lián)系地址", byteRangeLength: "請詳實您的聯(lián)系地址以便于我們聯(lián)系您" }, 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; } };
More jquery validation to verify ID number , passport, phone number, email (example code) related articles please pay attention to the PHP Chinese website!
Undress images for free
AI-powered app for creating realistic nude photos
Online AI tool for removing clothes from photos.
AI clothes remover
Swap faces in any video effortlessly with our completely free AI face swap tool!
Easy-to-use and free code editor
Chinese version, very easy to use
Powerful PHP integrated development environment
Visual web development tools
God-level code editing software (SublimeText3)
Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development.
JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic
The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes.
PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl
JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor
JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf
Event capture and bubble are two stages of event propagation in DOM. Capture is from the top layer to the target element, and bubble is from the target element to the top layer. 1. Event capture is implemented by setting the useCapture parameter of addEventListener to true; 2. Event bubble is the default behavior, useCapture is set to false or omitted; 3. Event propagation can be used to prevent event propagation; 4. Event bubbling supports event delegation to improve dynamic content processing efficiency; 5. Capture can be used to intercept events in advance, such as logging or error processing. Understanding these two phases helps to accurately control the timing and how JavaScript responds to user operations.
Java and JavaScript are different programming languages. 1.Java is a statically typed and compiled language, suitable for enterprise applications and large systems. 2. JavaScript is a dynamic type and interpreted language, mainly used for web interaction and front-end development.