天朝第二代身份证号码的验证机制 | 张大奋的个人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; //对不上就是假号码 } |