javascript 判斷一個數字是不是社會安全號碼

來源:互聯網
上載者:User
    <script type="text/javascript">        //        // javascript 判斷一個數字是不是社會安全號碼        // 代碼摘自 http: //topic.csdn.net/u/20110102/22/e79df4e8-7b0a-4c65-9490-1ef39837ff36.html?8841        function isChinaIDCard(StrNo) {            StrNo = StrNo.toString()            if (StrNo.length == 18) {                var a, b, c                if (!isInteger(StrNo.substr(0, 17))) { return false }                a = parseInt(StrNo.substr(0, 1)) * 7 + parseInt(StrNo.substr(1, 1)) * 9 + parseInt(StrNo.substr(2, 1)) * 10;                a = a + parseInt(StrNo.substr(3, 1)) * 5 + parseInt(StrNo.substr(4, 1)) * 8 + parseInt(StrNo.substr(5, 1)) * 4;                a = a + parseInt(StrNo.substr(6, 1)) * 2 + parseInt(StrNo.substr(7, 1)) * 1 + parseInt(StrNo.substr(8, 1)) * 6;                a = a + parseInt(StrNo.substr(9, 1)) * 3 + parseInt(StrNo.substr(10, 1)) * 7 + parseInt(StrNo.substr(11, 1)) * 9;                a = a + parseInt(StrNo.substr(12, 1)) * 10 + parseInt(StrNo.substr(13, 1)) * 5 + parseInt(StrNo.substr(14, 1)) * 8;                a = a + parseInt(StrNo.substr(15, 1)) * 4 + parseInt(StrNo.substr(16, 1)) * 2;                b = a % 11;                if (b == 2)    //最後一位為校正位                   {                    c = StrNo.substr(17, 1).toUpperCase();    //轉為大寫X                   }                else {                    c = parseInt(StrNo.substr(17, 1));                }                switch (b) {                    case 0: if (c != 1) { alert("身份證好號碼校正位錯:最後一位應該為:1"); return false; } break;                    case 1: if (c != 0) { alert("身份證好號碼校正位錯:最後一位應該為:0"); return false; } break;                    case 2: if (c != "X") { alert("身份證好號碼校正位錯:最後一位應該為:X"); return false; } break;                    case 3: if (c != 9) { alert("身份證好號碼校正位錯:最後一位應該為:9"); return false; } break;                    case 4: if (c != 8) { alert("身份證好號碼校正位錯:最後一位應該為:8"); return false; } break;                    case 5: if (c != 7) { alert("身份證好號碼校正位錯:最後一位應該為:7"); return false; } break;                    case 6: if (c != 6) { alert("身份證好號碼校正位錯:最後一位應該為:6"); return false; } break;                    case 7: if (c != 5) { alert("身份證好號碼校正位錯:最後一位應該為:5"); return false; } break;                    case 8: if (c != 4) { alert("身份證好號碼校正位錯:最後一位應該為:4"); return false; } break;                    case 9: if (c != 3) { alert("身份證好號碼校正位錯:最後一位應該為:3"); return false; } break;                    case 10: if (c != 2) { alert("身份證好號碼校正位錯:最後一位應該為:2"); return false }                }            }            else    //15位社會安全號碼               {                if (!isInteger(StrNo)) { alert("社會安全號碼碼錯誤,前15位不能含有英文字母!"); return false }            }            switch (StrNo.length) {                case 15: return true;                case 18: return true;            }            alert("輸入的社會安全號碼碼必須為15位或者18位!");            return false;        }       </script>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.