js中如何通过身份证号计算出生日期和年龄
生活随笔
收集整理的這篇文章主要介紹了
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可用
轉載于:https://www.cnblogs.com/xielong/p/8064466.html
總結
以上是生活随笔為你收集整理的js中如何通过身份证号计算出生日期和年龄的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 每日站立会议12/19
- 下一篇: 服务器虚拟化管理,几招让你快速成就你的服