zoukankan      html  css  js  c++  java
  • JavaScript验证身份证号

    <!DOCTYPE html>
    <html>
    
    	<head>
    		<meta charset="UTF-8" />
    		<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。

  • 相关阅读:
    谷歌浏览器(Google Chrome)开发调试详细介绍
    Js调试技巧
    Spring框架集成FreeMarker
    Spring MVC + freemarker实现半自动静态化
    Django学习路4_数据库添加元素,读取及显示到网页上
    数据库设计基础知识
    Django创建简单数据库
    list 和 [ ] 的功能不相同
    Django坑_01
    爬虫流程复习3
  • 原文地址:https://www.cnblogs.com/libin-1/p/5979561.html
Copyright © 2011-2022 走看看