JavaScript 身份證號有效驗證詳解及實例代碼


這篇文章主要介紹了JavaScript 身份證號有效驗證詳解及實例代碼的相關資料,需要的朋友可以參考下

 

JavaScript驗證身份證號

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<%@ 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>身份證驗證</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= "身份證號合法  尾號為:" +arr3[r];
       } else {
         document.getElementById( "show" ).innerHTML= "非合法身份證號" ;
       }
     }
     
   } else {
     document.getElementById( "show" ).innerHTML= "非合法身份證號" ;
   }
}
</script>
</head>
<body >
<input id= "gettext" type= "text" size= "30" onkeyup= "checkid()" >
<p id= "show" ></p><br>
</body>
</html>

根據網上的身份證的計算公式寫的一個驗證身份證號的js

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

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

第三步:用第二步計算出來的結果除以11,這樣就會出現余數為0,余數為1,余數為2,余數為3,余數為4,余數為5,余數為6,余數為7,余數為8,余數為9,余數為10共11種可能性。

第四步:如果余數為0,那對應的最后一位身份證的號碼為1;如果余數為1,那對應的最后一位身份證的號碼為0;如果余數為2,那對應的最后一位身份證的號碼為X;如果余數為3,那對應的最后一位身份證的號碼為9;如果余數為4,那對應的最后一位身份證的號碼為8;如果余數為5,那對應的最后一位身份證的號碼為7;如果余數為6,那對應的最后一位身份證的號碼為6;如果余數為7,那對應的最后一位身份證的號碼為5;如果余數為8,那對應的最后一位身份證的號碼為4;如果余數為9,那對應的最后一位身份證的號碼為3;如果余數為10,那對應的最后一位身份證的號碼為2。

(轉載)http://www.jb51.net/article/95287.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM