在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. ege demo

    #include <ege.h> const float base_speed = 0.5f; const float randspeed = 1.5f; //自定义函数,用来返回一个0 ...

  2. dml语句和ddl语句 区别

    delete from user删除所有记录,属于dml语句,一条记录一条记录删除.事务可以作用在dml语句上的 truncate table user;删除所有记录,属于ddl语句,将表删除,然后重 ...

  3. NoSQL(not only struts query language)的简单介绍

    为什么需要NoSQL? 互联网自扩大规模来一直面临3个问题 1.High performance高并发 一个网站开发实时生成动态页面可能会存在高并发请求的需求,硬盘IO已经无法接受 2.Huge St ...

  4. gensim使用方法以及例子

    来自:https://blog.csdn.net/u014595019/article/details/52218249 gensim是一个Python的自然语言处理库,能够将文档根据TF-IDF,L ...

  5. HDU 1715 斐波那契数列1000项

    二维数组模拟大数加法就可以了,不太难,直接上代码了. #include<stdio.h> #include<string.h> #include<math.h> # ...

  6. 学习笔记58—3D杯子设计

    软件下载:http://www.i3done.com/ 界面如下: 3D杯子设计步骤(参考:http://www.i3done.com/news/video/402.html): 生成杯体 1.点击基 ...

  7. qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method

    使用Qt编写程序访问知乎官网,程序报错 qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method ...

  8. Asp.net core 学习笔记 ( IIS, static file 性能优化 )

    更新 : 2019-02-06 最后还是把 rewrite 给替换掉了. 所以 rewrite url 也不依赖 iis 了咯. refer : https://docs.microsoft.com/ ...

  9. Axure 全局变量公式的使用和局部变量

    全局变量和全部变量的公式: 1.全局变量在当前用例所有的动作里面都有,都可以设置 2.全局变量的公式在中括号里面的变量可以运算,但是在中括号外面的变量只是起到连接的作用 局部变量: 局部变量只可以在当 ...

  10. Linux 各种软件的安装-tomcat8+JDK篇

    其实自己没搞过php,主要还是弄java,tomcat和java是必不可少的 首先安装JDK,注意linux和winodws的jdk完全不同,别下载错了. 先 yum update 把软件更新一下 j ...