Home  >  Article  >  Web Front-end  >  js second generation ID card number verification mechanism code_javascript skills

js second generation ID card number verification mechanism code_javascript skills

WBOY
WBOYOriginal
2016-05-16 18:06:531136browse

Due to the extremely fast response speed, it is certain that the accuracy is not verified online. This means that in addition to the well-known rules for indicating birthday and gender, the second-generation ID card also has other self-verification rules. So I opened the source code of the page and found that this js was not compressed, so the rules were easy to understand.
Just here to popularize the science for everyone, I don’t know if it is Mars, haha.
The following code comes from here, and the copyright belongs to Shanda. Of course, you can also find a more detailed introduction and algorithm in Wikipedia.

Copy code The code is as follows:

iW = new Array(7,9,10,5 ,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
iSum = 0;
for( i=0;i<17; i ){
iC = v_card.charAt(i);
iVal = parseInt(iC);
iSum = iVal * iW[i];
}
iJYM = iSum % 11;
var sJYM = '';
if(iJYM == 0) sJYM = "1";
else if(iJYM == 1) sJYM = "0";
else if(iJYM = = 2) sJYM = "x";
else if(iJYM == 3) sJYM = "9";
else if(iJYM == 4) sJYM = "8";
else if(iJYM == 5) sJYM = "7";
else if(iJYM == 6) sJYM = "6";
else if(iJYM == 7) sJYM = "5";
else if( iJYM == 8) sJYM = "4";
else if(iJYM == 9) sJYM = "3";
else if(iJYM == 10) sJYM = "2";
var cCheck = v_card.charAt(17).toLowerCase();
if( cCheck != sJYM ){
return false; //If it doesn’t match, it’s a fake number
}
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