身份證有效性校驗 javascript實現

來源:互聯網
上載者:User
關鍵字 網頁製作 Ajax JavaScript

取至盛大的,所以版權歸盛大線上所有

function nunber(){  var idcard=document.getElementById('u_nunber').value;  var Errors= new Array("驗證通過!","身份證號碼位數不對!","出生日期超出範圍或含有非法字元!","身份證號碼校驗錯誤!","身份證地區非法!");  var area={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:"國外"}   var  idcard,Y,JYM;  var S,M;  var idcard_array = new Array();  idcardidcard_array = idcard.split("");  if(area[parseInt(idcard.substr(0,2))]==null)   {  document.getElementById('nunber_re'). innerHTML="<div class='re'><p class='tipsError'><img src='images/b.gif'  class='iconError' />"+Errors[4]+"</p></div>";  return false;  }   switch(idcard.length){     case 15:     if ( (parseInt( idcard.substr(6,2))+1900) % 4 == 0 ||  ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt( idcard.substr(6,2))+1900) % 4 == 0 )){      ereg=/^[1-9][0-9] {5} [0-9] {2} ((01|03|05|07|08|10|12)(0[1-9]|[ 1-2][0-9]|3[0-1])| (04|06|09|11) (0[1-9]| [1-2] [0-9]|30)|02(0[1-9]|[ 1-2][0-9]))[0-9]{3}$/;     } else {      ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05 |07|08|10|12)(0[1-9]|[ 1-2][0-9]|3[0-1])| (04|06|09|11) (0[1-9]| [1-2] [0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;     }     if(ereg.test(idcard)){       document.getElementById('nunber_re').innerHTML="<div class='re'><p class='tipsSuc'>< img src='images/b.gif' class='iconSuc' />"+Errors[0]+"</p></div>";   return true;      }     else {       document.getElementById('nunber_re').innerHTML="<div class='re'><p class='tipsError'> <img src='images/b.gif' class='iconError' />"+Errors[2]+"</p></div>";  return false;       }     break;      case 18:     //18位身份號碼檢測     if ( parseInt(idcard.substr(6,4)) %  4 == 0 ||  (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr (6,4)) %4 == 0 )){     ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9] | [1-2] [0-9]|3[0-1])| (04|06|09|11) (0[1-9]| [1-2] [0-9]|30)|02(0[1-9]|[ 1-2][0-9]))[0-9]{3}[0-9Xx]$/;     } else {     ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[ 1-2][0-9]|3[0-1])| (04|06|09|11) (0[1-9]| [1-2] [0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;     }     if(ereg.test(idcard)){      S =  (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7       + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9       + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10      + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) *  5      + (parseInt(idcard_array[4]) + parseInt(idcard_array[14]))  * 8      + (parseInt(idcard_array[5]) + parseInt(idcard_ array[15])) * 4      + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) *  2      + parseInt(idcard_array[7]) * 1        + parseInt(idcard_array[8]) * 6      + parseInt(idcard _array[9]) * 3 ;      Y = S % 11;      M = "F";      JYM = "10X98765432";      M = JYM.substr(Y,1);      if(M == idcard_array[17]){       document.getElementById('nunber_re').innerHTML="<div class='re'><p class='tipsSuc'>< img src='images/b.gif' class='iconSuc' />"+Errors[0]+"</p></div>";       return true;      }      else {      document.getElementById('nunber_re').innerHTML="<div  class='re'><p class='tipsError'><img src='images/b.gif' class='iconError'  />"+Errors[3]+"</p></div>";           return false;      }     }     else {       document.getElementById('nunber_re').innerHTML="<div class='re'><p class=' tipsError'><img src='images/b.gif' class='iconError' />"+Errors[2]+"</p></div >";      return false;     }     break;     default:       document.getElementById('nunber_re'). innerHTML="<div class='re'><p class='tipsError'><img src='images/b.gif'  class='iconError' />"+Errors[1]+"</p></div>";      return false;  }  } 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.