200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > js中如何通过身份证号计算出生日期和年龄

js中如何通过身份证号计算出生日期和年龄

时间:2020-08-03 07:56:38

相关推荐

js中如何通过身份证号计算出生日期和年龄

在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>

实现效果(改变身份证号时,带出出生日期和年龄)

注:需引入jquery.min.js文件,保证jquery可用

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。