欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js 第二代身份證號碼的驗證機(jī)制代碼

 更新時間:2011年05月12日 23:03:49   作者:  
在盛大某網(wǎng)站注冊的時候,身份證必填,但我又不想填真實身份證號碼,于是隨便編了串自認(rèn)為合法的身份證號碼,但是卻馬上被提示號碼錯誤
由于響應(yīng)速度極快,可以肯定不是聯(lián)機(jī)校驗正確性的,那也就是說第二代身份證除了大家都知道的幾位表示生日和性別的規(guī)則以外,還有另外的自我校驗規(guī)則。于是翻開頁面源碼查看,發(fā)現(xiàn)這段js沒有被壓縮,所以規(guī)則也很好懂。
就在這里給大家科普下,不知道是不是火星了,呵呵。
以下代碼來自這里,版權(quán)歸盛大。當(dāng)然,你也可以在維基百科找到更詳細(xì)的介紹和算法。
復(fù)制代碼 代碼如下:

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; //對不上就是假號碼
}

相關(guān)文章

最新評論