您的位置:首页 > Web前端 > JavaScript

js 通过身份证识别生日、年龄、性别

2015-09-24 16:19 549 查看
<script>
function IdCard(UUserCard,num){
if(num==1){
//获取出生日期
birth=UUserCard.substring(6, 10) + "-" + UUserCard.substring(10, 12) + "-" + UUserCard.substring(12, 14);
return birth;
}
if(num==2){
//获取性别
if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) {
//男
return "男";
} else {
//女
return "女";
}
}
if(num==3){
//获取年龄
var myDate = new Date();
var month = myDate.getMonth() + 1;
var day = myDate.getDate();
var age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1;
if (UUserCard.substring(10, 12) < month || UUserCard.substring(10, 12) == month && UUserCard.substring(12, 14) <= day) {
age++;
}
return age;
}
}
alert (IdCard('身份证号',3));
</script>

下面是大概的规则
18位身份证
前1~2位数字表示:所在省份的代码;
第3~4位数字表示:所在城市的代码;
第5~6位数字表示:所在区县的代码;
第7~14位数字表示:出生年、月、日;
第15~16位数字表示:所在地的派出所的代码;
第17位数字表示性别:奇数表示男性,偶数表示女性;
15位差距不大

前1~2位数字表示:所在省份的代码;
第3~4位数字表示:所在城市的代码;
第5~6位数字表示:所在区县的代码;
第7、8位为出生年份(两位数)
第9、10位为出生月份
第11、12位代表出生日期
第15位代表性别,奇数为男,偶数为女
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: