/*
Program: Taiwanese ID Checker
Author: Austin, Cheng-Chun Chang
Blog: http://austinccc.blogspot.com
*/
jQuery.fn.checkId = function(){
var moduleCnt = 10;
var inputId = $.trim($(this).val()).toUpperCase();
if(inputId.length != moduleCnt){ //If the length is not 10, return false
return false;
}else{
var str = new Array(moduleCnt);
switch(inputId.substring(0,1)){
case 'A':
str[0] = "1";
str[1] = "0";
break;
case 'B':
str[0] = "1";
str[1] = "1";
break;
case 'C':
str[0] = "1";
str[1] = "2";
break;
case 'D':
str[0] = "1";
str[1] = "3";
break;
case 'E':
str[0] = "1";
str[1] = "4";
break;
case 'F':
str[0] = "1";
str[1] = "5";
break;
case 'G':
str[0] = "1";
str[1] = "6";
break;
case 'H':
str[0] = "1";
str[1] = "7";
break;
case 'I':
str[0] = "3";
str[1] = "4";
break;
case 'J':
str[0] = "1";
str[1] = "8";
break;
case 'K':
str[0] = "1";
str[1] = "9";
break;
case 'L':
str[0] = "2";
str[1] = "0";
break;
case 'M':
str[0] = "2";
str[1] = "1";
break;
case 'N':
str[0] = "2";
str[1] = "2";
break;
case 'O':
str[0] = "3";
str[1] = "5";
break;
case 'P':
str[0] = "2";
str[1] = "3";
break;
case 'Q':
str[0] = "2";
str[1] = "4";
break;
case 'R':
str[0] = "2";
str[1] = "5";
break;
case 'S':
str[0] = "2";
str[1] = "6";
break;
case 'T':
str[0] = "2";
str[1] = "7";
break;
case 'U':
str[0] = "2";
str[1] = "8";
break;
case 'V':
str[0] = "2";
str[1] = "9";
break;
case 'W':
str[0] = "3";
str[1] = "2";
break;
case 'X':
str[0] = "3";
str[1] = "0";
break;
case 'Y':
str[0] = "3";
str[1] = "1";
break;
case 'Z':
str[0] = "3";
str[1] = "3";
break;
default:
//not characters, return false
return false;
}
for(var i = 2; i < moduleCnt; i++){
str[i] = inputId.substring(i-1,i);
}
var sum = parseInt(str[0]) * 1;
for(var i = 9; i > 0; i--){
sum = sum + (i * parseInt(str[moduleCnt - i]));
}
if((moduleCnt - (sum % moduleCnt)) == parseInt(inputId.substring(moduleCnt-1,moduleCnt)) ||
(sum % moduleCnt) == parseInt(inputId.substring(moduleCnt - 1, moduleCnt))){
return true;
}else{
return false;
}
}
}
How to use:
$(document).ready(function(){
$("#hi").click(function(){
if($("#custId").checkId()){
alert("ID is correct!!");
}else{
alert("ID is NOT Correct!!");
}
});
});
If you would like to understand the rule, you could visit
身份證字號規則
沒有留言:
張貼留言