JavaScript驗證18位身份證號碼最后一位正確性的實現(xiàn)代碼
更新時間:2014年08月07日 11:00:24 投稿:junjie
這篇文章主要介紹了JavaScript驗證18位身份證號碼最后一位正確性的實現(xiàn)代碼,小編親測有效,需要的朋友可以參考下
根據(jù)身份證號碼推算出最后一位的正確性,如果不正確還會給出正確結果,非常有意思的一斷程序。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript 18位身份證號碼最后一位校驗碼</title>
</head>
<body>
<script>
function getIDChar18(id) {
var arr = id.split(''), sum = 0, vc = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
for (var i = 0; i < 17; i++) sum += vc[i] * parseInt(arr[i]);
return ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'][sum % 11];
}
function ValidID(id) {
if (/^\d{18}$/.test(id)) {
var c = id.charAt(17), rc = getIDChar18(id);
if (c == rc) showRst('您輸入的18位身份證號碼正確!<br>生日:' + id.substr(6, 8) + '<br>性別:' + ['女', '男'][parseInt(id.charAt(16)) % 2]);
else showRst('您輸入的18位身份證號碼檢驗碼錯誤,18位校驗碼應該為' + rc + '!');
}
else showRst('請輸入18位數(shù)字的身份證號碼!');
}
function showRst(msg) {document.getElementById('rst').innerHTML=msg }
</script>
<input type="text" onblur="ValidID(this.value)" />
<div id="rst"></div>
</body>
</html>
您可能感興趣的文章:
- vbscript和javascript版的15位, 18位的身份證號碼的驗證函數(shù).以及根據(jù)身份證取省份,生日,性別
- javascript或asp實現(xiàn)的判斷身份證號碼是否正確兩種驗證方法
- javascript 身份證號碼驗證函數(shù)(可辨真?zhèn)?,支?5或18位身份證號)測試誤差為0
- javascript實現(xiàn)根據(jù)身份證號讀取相關信息
- javascript驗證身份證號
- javascript實現(xiàn)驗證身份證號的有效性并提示
- 如何用javascript正則表達式驗證身份證號碼是否合法
- JavaScript正則表達式驗證身份證號碼是否合法(兩種方法)
- 超精準的javascript驗證身份證號的方法
相關文章
javascript 顯示全局變量與隱式全局變量的區(qū)別
這篇文章主要介紹了javascript 顯示全局變量與隱式全局變量的區(qū)別,需要的朋友可以參考下2017-02-02
Javascript 實現(xiàn)的數(shù)獨解題算法網(wǎng)頁實例
此算法的實現(xiàn),就是模擬人腦的思考和計算過程,有需要的朋友可以參考一下2013-10-10

