2012年6月17日 星期日
JavaScript 驗身份証
function checkTwID(id) {
//建立字母分數陣列(A~Z)
var city = new Array(
1, 10, 19, 28, 37, 46, 55, 64, 39, 73, 82, 2, 11,
20, 48, 29, 38, 47, 56, 65, 74, 83, 21, 3, 12, 30
);
id = id.toUpperCase();
// 使用「正規表達式」檢驗格式
if (id.search(/^[A-Z](1|2)\d{8}$/i) == -1) {
alert(id.search(/^[A-Z](1|2)\d{8}$/i));
return false;
} else {
//將字串分割為陣列(IE必需這麼做才不會出錯)
id = id.split('');
//計算總分
var total = city[id[0].charCodeAt(0) - 65];
for (var i = 1; i <= 8; i++) {
total += eval(id[i]) * (9 - i);
}
//補上檢查碼(最後一碼)
total += eval(id[9]);
//檢查比對碼(餘數應為0);
alert(total % 10 == 0);
return ((total % 10 == 0));
}
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言