Home  >  Article  >  Web Front-end  >  js ID card verification super script_form special effects

js ID card verification super script_form special effects

WBOY
WBOYOriginal
2016-05-16 18:59:32959browse

function checkIdcard(idcard){
var Errors=new Array(
"Verification passed!",
"The number of digits in the ID number is incorrect!",
"The date of birth of the ID number is outside the range or contains Illegal characters!",
"ID card number verification error!",
"Illegal ID card area!"
);
var area={11:"Beijing",12:"Tianjin ",13:"Hebei",14:"Shanxi",15:"Inner Mongolia",21:"Liaoning",22:"Jilin",23:"Heilongjiang",31:"Shanghai",32:"Jiangsu", 33:"Zhejiang",34:"Anhui",35:"Fujian",36:"Jiangxi",37:"Shandong",41:"Henan",42:"Hubei",43:"Hunan",44: "Guangdong",45:"Guangxi",46:"Hainan",50:"Chongqing",51:"Sichuan",52:"Guizhou",53:"Yunnan",54:"Tibet",61:"Shaanxi ",62:"Gansu",63:"Qinghai",64:"Ningxia",65:"Xinjiang",71:"Taiwan",81:"Hong Kong",82:"Macau",91:"Abroad"}

var idcard,Y,JYM;
var S,M;
var idcard_array = new Array();
idcard_array = idcard.split("");

//Area inspection
if(area[parseInt(idcard.substr(0,2))]==null) return Errors[4];
alert(Errors[4]);

//ID number digits and format check
switch(idcard.length){
case 15:
if ( (parseInt(idcard.substr(6,2)) 1900) % 4 == 0 || ((parseInt(idcard.substr(6,2)) 1900) % 100 == 0 && (parseInt(idcard.substr(6,2)) 1900) % 4 == 0 )){
ereg= /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1- 2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0 [1-9]|[1-2][0-9]))[0-9]{3}$/;//Test the legality of birth date
} else {
ereg=/^ [1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2] [0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1 -9]|1[0-9]|2[0-8]))[0-9]{3}$/;//Test the legality of birth date
}

if( ereg.test(idcard)) return Errors[0];
alert(Errors[0]);
else return Errors[2];
alert(Errors[2]);
break;
case 18:
//18-digit identity number detection
//Legality check of date of birth
//Leap year, month and day: (((01|03|05|07|08|10| 12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2 ][0-9]|30)|02(0[1-9]|[1-2][0-9]))
//Normal year, month and day: ((01|03|05|07| 08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]| [1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
if ( parseInt(idcard.substr(6 ,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9] |[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30) |02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//Legacy regular expression for birth date in leap year
} else {
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12) (0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][ 0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;// Regular expression for the legality of birth date in ordinary years
}
if(ereg.test(idcard)){//Test the legality of birth date
//Calculate check digit
S = (parseInt (idcard_array[0]) parseInt(idcard_array[10])) * 7
(parseInt(idcard_array[1]) parseInt(idcard_array[11])) * 9
(parseInt(idcard_array[2]) parseInt( idcard_array[12])) * 10
(parseInt(idcard_array[3]) parseInt(idcard_array[13])) * 5
(parseInt(idcard_array[4]) parseInt(idcard_array[14])) * 8
(parseInt(idcard_array[5]) parseInt(idcard_array[15])) * 4
(parseInt(idcard_array[6]) parseInt(idcard_array[16])) * 2
parseInt(idcard_array[7 ]) * 1
parseInt(idcard_array[8]) * 6
parseInt(idcard_array[9]) * 3 ;
Y = S % 11;
M = "F";
JYM = "10X98765432";
M = JYM.substr(Y,1);//Judge the check digit
if(M == idcard_array[17]) return Errors[0]; //Detect the ID Check digit
else return Errors[3];
alert(Errors[3]);
}
else return Errors[2];
alert(Errors[2]);
break;
default:
return Errors[1];
alert(Errors[1]);
break;
}
}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn