看板 Irice
作者 標題 [JS] 身份證檢查
時間 2012年11月30日 Fri. AM 11:11:01
//檢查身分證
function checkID(id) {
tab = "ABCDEFGHJKLMNPQRSTUVXYWZIO"
A1 = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3);
A2 = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5);
Mx = new Array(9, 8, 7, 6, 5, 4, 3, 2, 1, 1);
if (id.length != 10) return false;
i = tab.indexOf(id.charAt(0));
if (i == -1) return false;
sum = A1[i] + A2[i] * 9;
for (i = 1; i < 10; i++) {
v = parseInt(id.charAt(i));
if (isNaN(v)) return false;
sum = sum + v * Mx[i];
}
if (sum % 10 != 0) return false;
return true;
}
--function checkID(id) {
tab = "ABCDEFGHJKLMNPQRSTUVXYWZIO"
A1 = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3);
A2 = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5);
Mx = new Array(9, 8, 7, 6, 5, 4, 3, 2, 1, 1);
if (id.length != 10) return false;
i = tab.indexOf(id.charAt(0));
if (i == -1) return false;
sum = A1[i] + A2[i] * 9;
for (i = 1; i < 10; i++) {
v = parseInt(id.charAt(i));
if (isNaN(v)) return false;
sum = sum + v * Mx[i];
}
if (sum % 10 != 0) return false;
return true;
}
※ 作者: irice 時間: 2012-11-30 11:11:01
※ 編輯: irice 時間: 2012-11-30 11:16:12
※ 看板: Irice 文章推薦值: 0 目前人氣: 0 累積人氣: 189
回列表(←)
分享