在html中有如下标签
身份证号:<input type="text" id="Gra_IDCard" onChange="IDCardChange()"/> <br/>
出生日期:<input type="date" id="Gra_BirthDate"/> <br/>
用户年龄:<input type="number" id="Gra_NameAge"/>
在js中方法
<script>
//身份证改变事件(孕妇)
var IDCardChange = function () {
//获取身份证号
var idCard = $('#Gra_IDCard').val();
//判断身份证长度
if (idCard.length == 18) {
//获取计算后出生日期
var birthDateStr = getBirthDate(idCard);
//设置出生日期
$('#Gra_BirthDate').val(birthDateStr); //获取当前的日期
var nowDateStr = getNowDate();
//获取计算后年龄(两个日期之间)
var age = getAge(birthDateStr, nowDateStr);
//设置年龄
$('#Gra_Age').val(age);
}
} //根据身份证号计算出生日期
var getBirthDate = function (IDCard)
{
//获取身份证号的年、月、日
var year = IDCard.substring(6, 10);
var month = IDCard.substring(10, 12);
var day = IDCard.substring(12, 14);
//拼接成出生日期
var birthDate = year + '-' + month + '-' + day;
return birthDate;
} //根据两个日期计算年龄(是否过生日)
var getAge = function (startDateStr, endDateStr)
{
//计算两个日期相差多少年
var startDate = new Date(startDateStr);
var endDate = new Date(endDateStr);
var yearNum = endDate.getFullYear() - startDate.getFullYear();
//获取两个日期(月+日)部分
var sStr = startDateStr.substring(5, 10);
var eStr = endDateStr.substring(5, 10);
//判断两个日期大小
//判断是否过生日
if (new Date(sStr) <= new Date(eStr)) {
return yearNum + 1;
}
else {
return yearNum;
}
} ///获取当前日期
var getNowDate = function () {
var d = new Date();
var year = d.getFullYear();
var month = d.getMonth() + 1;
var day = d.getDate();
var dateStr = year + '-' + getFormatDate(month) + '-' + getFormatDate(day);
return dateStr;
} //格式化日期的月份或天数的显示(小于10,在前面增加0)
function getFormatDate(value) {
if (value == undefined || value == "") {
return '';
}
var str = value;
if (parseInt(value) < 10) {
str = '0' + value;
}
return str;
}
</script>
实现效果(改变身份证号时,带出出生日期和年龄)
aaarticlea/png;base64,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" alt="" width="419" height="112" />
注:需引入jquery.min.js文件,保证jquery可用