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

使用JavaScript(jQuery)通过身份证号获取籍贯、生日、年龄、性别

2018-01-24 13:54 459 查看
注:本文所用的身份证号码是18位号码,15位的号码类似

公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。

排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码


以下是通过身份证号码获取到一个人的籍贯、生日、年龄、性别

<script type="text/javascript">
//给身份证文本框添加一个失去焦点事件:
$("#idNumber").blur(function() {
//获取身份证号码,例如:412702199301010000,这里不再判断身份证号是否合法
var idNumber = $("#idNumber").val();
//定义籍贯、出生日期、性别、年龄等变量
var provinces,province,birthday,currDate,month,date,age,sex;

//一、获取籍贯,由于数据量比较大,所以这里只获取到省:
//定义地区数组
provinces = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" };
province = provinces[parseInt(idNumber.substr(0, 2))];
//二、获取出生日期
birthday = idNumber.substring(6, 10) + "-" + idNumber.substring(10, 12) + "-" + idNumber.substring(12, 14);
//三、计算年龄
currDate = new Date();
month = currDate.getMonth() + 1;
date = currDate.getDate();
age = currDate.getFullYear() - idNumber.substring(6, 10) - 1;
//判断年龄
if (idNumber.substri
4000
ng(10, 12) < month || (idNumber.substring(10, 12) == month && idNumber.substring(12, 14) <= date)) {
age++;
}
//四、获取性别
if (parseInt(idNumber.substr(16, 1)) % 2 == 1) {
//男
sex = "man";
} else {
//女
sex = "woman";
}

//这里假定籍贯是文本框,给籍贯赋值
$("#province").val(province);
//给生日文本框赋值
$("#birthday").val(birthday);
//给年龄文本框赋值
$("#age").val(age);
//给性别单选框赋值
$("input[name='sex'][type=radio][value='" + sex + "']").attr("checked", true);
});
</script>


OK!这样就完成了!

觉得有用就点个赞喽!~(@^_^@)~

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐