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