Javascript验证18位身份证的代码

内容摘要
这个代码来自于盛大网站,被一个叫bones的同学发现,于是就流传出来了,哈哈,此代码非常简洁明了,值得学些!
文章正文

这个代码来自于盛大网站,被一个叫bones的同学发现,于是就流传出来了,哈哈,此代码非常简洁明了,值得学些!Javascript验证18位身份证的代码:

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; //对不上就是假号码
}
代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!