欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript 身份證號(hào)有效驗(yàn)證詳解及實(shí)例代碼

 更新時(shí)間:2016年10月20日 16:57:23   投稿:lqh  
這篇文章主要介紹了JavaScript 身份證號(hào)有效驗(yàn)證詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

最近需要對(duì)身份證合法性進(jìn)行驗(yàn)證,實(shí)名驗(yàn)證是不指望了,不過原來的驗(yàn)證規(guī)則太過簡(jiǎn)單,只是簡(jiǎn)單的驗(yàn)證了身份證長(zhǎng)度,現(xiàn)在業(yè)務(wù)需要加強(qiáng)下身份證驗(yàn)證規(guī)則,網(wǎng)上找到了不少資料,不過都不合偶的心意,無奈只好直接寫一個(gè),代碼還是用自己的舒服哈

JavaScript驗(yàn)證身份證號(hào)

<%@ page language="java" contentType="text/html; charset=GB18030"
  pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>身份證驗(yàn)證</title>
<script type="text/javascript"> 
var arr2=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
var arr3=[1,0,'X',9,8,7,6,5,4,3,2];
function checkid(){
  var t=document.getElementById("gettext").value;
  if(t.length==18){
    var arr=t.split('');
    var s;
    var reg = /^\d+$/;
    var pd=0;
    for(i=0;i<17;i++){
      if(reg.test(arr[i])){
        s=true;
        pd=arr[i]*arr2[i]+pd;
      }else{
        s=false;
        break;
      }
    }
    if(s=true){
      var r=pd%11;
      if(arr[17]==arr3[r]){
        document.getElementById("show").innerHTML="身份證號(hào)合法  尾號(hào)為:"+arr3[r];
      }else{
        document.getElementById("show").innerHTML="非合法身份證號(hào)";
      }
    }
    
  }else{
    document.getElementById("show").innerHTML="非合法身份證號(hào)";
  }
}
</script>
</head>
<body >
<input id="gettext" type="text" size="30" onkeyup="checkid()">
<p id="show"></p><br>
</body>
</html>

根據(jù)網(wǎng)上的身份證的計(jì)算公式寫的一個(gè)驗(yàn)證身份證號(hào)的js

第一步:將身份證號(hào)碼的第1位數(shù)字與7相乘;將身份證號(hào)碼的第2位數(shù)字與9相乘;將身份證號(hào)碼的第3位數(shù)字與10相乘;將身份證號(hào)碼的第4位數(shù)字與5相乘;將身份證號(hào)碼的第5位數(shù)字與8相乘;將身份證號(hào)碼的第6位數(shù)字與4相乘;將身份證號(hào)碼的第7位數(shù)字與2相乘;將身份證號(hào)碼的第8位數(shù)字與1相乘;將身份證號(hào)碼的第9位數(shù)字與6相乘;將身份證號(hào)碼的第10位數(shù)字與3相乘;將身份證號(hào)碼的第11位數(shù)字與7相乘;將身份證號(hào)碼的第12位數(shù)字與9相乘;將身份證號(hào)碼的第13位數(shù)字與10相乘;將身份證號(hào)碼的第14位數(shù)字與5相乘;將身份證號(hào)碼的第15位數(shù)字與8相乘;將身份證號(hào)碼的第16位數(shù)字與4相乘;將身份證號(hào)碼的第17位數(shù)字與2相乘。

第二步:將第一步身份證號(hào)碼1~17位相乘的結(jié)果求和,全部加起來。

第三步:用第二步計(jì)算出來的結(jié)果除以11,這樣就會(huì)出現(xiàn)余數(shù)為0,余數(shù)為1,余數(shù)為2,余數(shù)為3,余數(shù)為4,余數(shù)為5,余數(shù)為6,余數(shù)為7,余數(shù)為8,余數(shù)為9,余數(shù)為10共11種可能性。

第四步:如果余數(shù)為0,那對(duì)應(yīng)的最后一位身份證的號(hào)碼為1;如果余數(shù)為1,那對(duì)應(yīng)的最后一位身份證的號(hào)碼為0;如果余數(shù)為2,那對(duì)應(yīng)的最后一位身份證的號(hào)碼為X;如果余數(shù)為3,那對(duì)應(yīng)的最后一位身份證的號(hào)碼為9;如果余數(shù)為4,那對(duì)應(yīng)的最后一位身份證的號(hào)碼為8;如果余數(shù)為5,那對(duì)應(yīng)的最后一位身份證的號(hào)碼為7;如果余數(shù)為6,那對(duì)應(yīng)的最后一位身份證的號(hào)碼為6;如果余數(shù)為7,那對(duì)應(yīng)的最后一位身份證的號(hào)碼為5;如果余數(shù)為8,那對(duì)應(yīng)的最后一位身份證的號(hào)碼為4;如果余數(shù)為9,那對(duì)應(yīng)的最后一位身份證的號(hào)碼為3;如果余數(shù)為10,那對(duì)應(yīng)的最后一位身份證的號(hào)碼為2。

 感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

最新評(píng)論