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。

  • 相关阅读:
    Attach Files to Objects 将文件附加到对象
    Provide Several View Variants for End-Users 为最终用户提供多个视图变体
    Audit Object Changes 审核对象更改
    Toggle the WinForms Ribbon Interface 切换 WinForms 功能区界面
    Change Style of Navigation Items 更改导航项的样式
    Apply Grouping to List View Data 将分组应用于列表视图数据
    Choose the WinForms UI Type 选择 WinForms UI 类型
    Filter List Views 筛选器列表视图
    Make a List View Editable 使列表视图可编辑
    Add a Preview to a List View将预览添加到列表视图
  • 原文地址:https://www.cnblogs.com/libin-1/p/5979561.html
Copyright © 2011-2022 走看看