• <acronym id="ez49h"><div id="ez49h"></div></acronym>
  • \r\n \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  

    \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>\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>"}

    国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

    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)); 
    }, "請正確填寫您的郵政編碼"); 
    
    //開始驗證 
    $(&#39;#commentForm&#39;).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 = &#39;19&#39; + 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 + &#39;-&#39; + mm +&#39;-&#39; + dd;
    },
    //獲取信息
    getIdCardInfo: function(idCardNo){
    var idCardInfo = {
    gender:"", //性別
    birthday:"" // 出生日期(yyyy-mm-dd)
    };
    if(idCardNo.length==15){
    var aday = &#39;19&#39; + 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) + &#39;19&#39; + 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 AI Tool

    Undress images for free

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Clothoff.io

    Clothoff.io

    AI clothes remover

    Video Face Swap

    Video Face Swap

    Swap faces in any video effortlessly with our completely free AI face swap tool!

    Hot Tools

    Notepad++7.3.1

    Notepad++7.3.1

    Easy-to-use and free code editor

    SublimeText3 Chinese version

    SublimeText3 Chinese version

    Chinese version, very easy to use

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    Dreamweaver CS6

    Dreamweaver CS6

    Visual web development tools

    SublimeText3 Mac version

    SublimeText3 Mac version

    God-level code editing software (SublimeText3)

    Java vs. JavaScript: Clearing Up the Confusion 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 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? 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 ? 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 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 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? 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? 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