根据身份证号码导出生日和性别(JavaScript代码)
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
<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> 该文章在 2012/5/3 23:19:30 编辑过 |
关键字查询
相关文章
正在查询... |