天朝第二代身份证号码的验证机制 | 张大奋的个人it技术博客

以下是代码片段:
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; //对不上就是假号码
}

随意打赏

提交建议
微信扫一扫,分享给好友吧。