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

    <%@ 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。

     

  • 相关阅读:
    MySQL的Date()函数拼接
    org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start()
    js判断对象是否为空对象的几种方法
    json,js中typeof用法详细介绍及NaN、 null 及 undefined 的区别
    将[object Object]转换成json对象
    升级d7的代码到2010以上版本注意事项(SetLength的参数就是字符长度,而不是字节长度,但Move函数要改)
    我是如何用 10 天自学编程,改变一生的?(学习编程的时候,不要死记硬背,要培养感觉)
    Anbox —— 在 Linux 系统中运行 Android 应用
    一定要在commit之前做RAR备份,这样在出问题的时候,可以排除别人代码的干扰
    排序算法总结
  • 原文地址:https://www.cnblogs.com/lansv/p/5979127.html
Copyright © 2011-2022 走看看