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

js中如何通过身份证号计算出生日期和年龄的更多相关文章

  1. sql server 根据身份证号计算出生日期和年龄的存储过程

    我这边有一个业务,需要客户填写身份证号,自动计算他的出生日期和年龄 在sql中,具体的存储过程实现是这样的: /******************************************** ...

  2. sqlalchemy 模型中添加根据身份证号计算性别和年龄

    class Users(Base, BaseMixin): username = Column(String(24)) id_Num = Column(String(18) ) # 身份证号码 @pr ...

  3. oracle 根据身份证号计算出生日期

      1.情景展示 如何根据身份证号推算出出生日期? 2.解决方案 --根据身份证号计算出生日期 SELECT DECODE(LENGTH(ID_CARD), 18, SUBSTR(ID_CARD, 7 ...

  4. JavaScript 通过身份证号获取出生日期、年龄、性别 、籍贯

    JavaScript 通过身份证号获取出生日期.年龄.性别 .籍贯(很全) 效果图: 示例代码: //由于没有写外部JS,所以代码比较长!!! <!DOCTYPE html PUBLIC &qu ...

  5. 教你一招:根据身份证号计算出生年月和年龄 text函数和mid函数混用 datedif函数和today函数混用

    在电子表格Excel中,使用text函数和mid函数混用,根据身份证号计算出生年月: =text(mid(A2,,),"0!/00!/00") #0!/00!/00 为日期的格式# ...

  6. SQL 从身份证号得到出生日期、年龄、男女

    ), CONVERT(smalldatetime, SUBSTRING(b.IDCard, , )), ) AS BrithDate_Name, DATEDIFF(year, CONVERT(smal ...

  7. js脚本根据身份证号获取性别、年龄、家庭地址、生日

    做项目测试时需要根据身份证号获取其信息,也不想调接口,就自己在本地通过收集资料整合了一个

  8. Javascript 身份证号获得出生日期、获得性别、检查身份证号码

    //---------------------------------------------------------- // 功能:根据身份证号获得出生日期 // 参数:身份证号 psidno // ...

  9. SQL语句通过身份证号计算年龄

    SQL语句通过身份证号计算年龄 1.截取身份证号上的出生日期 身份证一般为18位数和15位数 18位数身份证的第7-10位数是出生年份,第11-14位数是出生月日,所以18位身份证的年龄计算如下 su ...

随机推荐

  1. javascript 获得以秒计的视频时长

    <!DOCTYPE html> <html> <body> <h3>演示如何访问 VIDEO 元素</h3> <video id=&q ...

  2. python win32api 如何用代码模拟点击网页confirm框的确定按钮

    mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)webBrowser1.Document.DomDocument; doc.parentWindo ...

  3. HttpClient的POST请求返回302解决

    HttpClient请求POST提示302,而且返回的response中的Localtion是我访问时使用的URL, 例如:我使用的URL是https://bbs.csdn.net?client_id ...

  4. 力扣(LeetCode)202. 快乐数

    编写一个算法来判断一个数是不是"快乐数". 一个"快乐数"定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 ...

  5. Linux 中 MySQL常用命令

    一. 数据库登录mysql -uroot -p二..退出数据库quit 和 exit或ctrl + d三.数据库操作1. 查看所有数据库 show databases;2. 查看当前使用的数据库sel ...

  6. anaconda3 安装opencv3.4.2 cuda9.2 mint19(ubuntu 18.04)

    从opencv1的时代,编译这玩意就不是太轻松.之前都是在win下.2.x时代,开始用cmake GUI,选vs版本,x86 x64 各种依赖库选项,debug release,... 现在3.4了, ...

  7. lua --- __newindex

    -- __newindex 对表进行更新 MyMetatable = {} MyTable = }, {__newindex = MyMetatable}) MyTable.newKey1 = pri ...

  8. 日常英语---十四、Dolce & Gabbana cancels China show amid 'racist' ad controversy(adj.温柔的,prep.在其中)

    日常英语---十四.Dolce & Gabbana cancels China show amid 'racist' ad controversy(adj.温柔的,prep.在其中) 一.总结 ...

  9. Windows 7 Update Settings Disabled (Important Updates Grayed Out)

    This worked for me: 1) Hold WindowsKey + R     (is hold Start & press R on your keyboard) 2) Typ ...

  10. 20165303 2017-2017-2《Java程序设计》课程总结

    1.我期待的师生关系 20165303我期望的师生关系 2.学习基础和C语言基础调查 20165303学习基础和C语言基础调查 3.linux安装及学习 20165303 预备作业3 Linux安装及 ...