特别收集一些身份证验证算法 根据身份证判断性别和生日

<script language="javascript"> function showBirthday(val) { var birthdayValue; if(15==val.length) { //15位身份证号码 birthdayValue = val.charAt(6)+val.charAt(7); if(parseInt(birthdayValue)<10) { birthdayValue = '20'+birthdayValue; } else { birthdayValue = '19'+birthdayValue; } birthdayValue=birthdayValue+'-'+val.charAt(8)+val.charAt(9)+'-'+val.charAt(10)+val.charAt(11); if(parseInt(val.charAt(14)/2)*2!=val.charAt(14)) document.all.sex.value='男'; else document.all.sex.value='女'; document.all.birthday.value=birthdayValue; } if(18==val.length) { //18位身份证号码 birthdayValue=val.charAt(6)+val.charAt(7)+val.charAt(8)+val.charAt(9)+'-'+val.charAt(10)+val.charAt(11) +'-'+val.charAt(12)+val.charAt(13); if(parseInt(val.charAt(16)/2)*2!=val.charAt(16)) document.all.sex.value='男'; else document.all.sex.value='女'; if(val.charAt(17)!=IDCard(val)) { document.all.idCard.style.backgroundColor='#ffc8c8'; } else { document.all.idCard.style.backgroundColor='white'; } document.all.birthday.value=birthdayValue; } } // 18位身份证号最后一位校验 function IDCard(Num) { if (Num.length!=18) return false; var x=0; var y=''; for(i=18;i>=2;i--) x = x + (square(2,(i-1))%11)*parseInt(Num.charAt(19-i-1)); x%=11; y=12-x; if (x==0) y='1'; if (x==1) y='0'; if (x==2) y='X'; return y; } // 求得x的y次方 function square(x,y) { var i=1; for (j=1;j<=y;j++) i*=x; return i; } </script>
身份证:
性 别:
生 日:
转自 http://blog.csdn.net/metababy/archive/2008/02/21/2111083.aspx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值