Javascript 香港身份证号校验


<!DOCTYPE html>
<html>
    <head>
        <title>香港身份证校验码计算</title>
    </head>
    <body>
        <input type=text id="no" value="A1234569" />
        <div>正确证号为:<label id="result"></label></div>
        <button onclick="generate()">计算</button>
        <script>
            function generate(){
                var str = document.getElementById("no").value;
                if(str.length!=8){alert("输入不正确!");return;}
                var vNo = generateValidCode(str);
                document.getElementById("result").innerHTML = str.substring(0,str.length - 1) + vNo;
            }
            function generateValidCode(str){
                var hash = (str.substring(0,1).toUpperCase().charCodeAt() - 64) * 8;
                for(var i = 1;i<=6;i++)
                {
                    hash += parseInt(str.substring(i,i+1)) * (8-i)
                }
                var validateNo = hash%11;
                var ret = "";
                if(validateNo==1){
                    ret = "A";
                }else
                {
                    ret = 11 - validateNo;
                }
                return ret;
            }
        </script>
    </body>
</html>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM