津律享和天气丹哪个好:身份证验证问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/06 06:36:09
<script>
function check_id(id_card,mydate){
var card_str=String(id_card)
var mydate=String(mydate)
if(card_str.length==18){
id_card=card_str.substring(0,17)
var ci=new Array('1','0','x','9','8','7','6','5','4','3','2')
var wi=new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1)
var ai=new Array()
var sum_temp,check_str,sum=0,j
for(i=0;i<18;i++) ai[i]=id_card.charAt(i);
for(i=0;i<18;i++) {sum_temp=ai[i]*wi[i];sum+=sum_temp;
}
chec_num=ci[sum%11]
check_str=id_card.substring(0,6)+mydate+id_card.substring(14,17)+chec_num
alert(card_str+"\n"+check_str)
if(check_str==card_str) alert("true");
else alert("false");
}
else alert("位数不对!")
}
check_id("42098419860202073x","19860202")
</script>
这段程序请帮忙解释

呵呵,不分析了
-------------------
你先去看看中国大陆身份证号码的编码规则吧

重点看看 第18位校验位是怎么根据前17位计算的

先搞清处这个在看分析程序就好了