今天在写代码的时候需要验证用户提交的身份证号码是否正确,特意百度了一下身份证号码的特征,写了一小段代码,如下:
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; //对不上就是假号码    
}如果本篇文章帮到了你,那么,请点击右侧的百度分享,让我们一起帮助更多的朋友!

