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

摘要:
以下标签ID号显示在html中:出生日期:用户年龄:js中的方法//ID卡更改事件(孕妇)变量

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

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

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

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

免责声明:文章转载自《js中如何通过身份证号计算出生日期和年龄》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇衡量镜头解像能力性能的指标-MTF曲线替换SQL Server字段中的换行符,回车符下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JS方法重写

from http://www.cnblogs.com/aooyu/archive/2009/12/11/1621904.html 1.HTML的是被浏览器按顺序解析的,那么我们看下面的例子  HTML code <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt...

JS动态创建表格比较【转】

目标:生成一个2000*5的表格,每个单元格的内容是行号+逗号+列号 方法一:使用createElement生成表格,使用insertRow和insertCell方法生成行列,单元格的内容使用innerHTML属性进行填充。 方法二:使用createElement生成表格,使用CreateElement方法生成行列,单元格的内容使用了createTex...

01 Vue基础

1. vue 概述# Vue:渐进式JavaScript框架 vue官网 https://cn.vuejs.org/v2/guide/ 声明式渲染→组件系统→客户端路由→集中式状态管理→项目构建 易用:熟悉HTML、CSS、JavaScript知识后,可快速上手Vue 灵活:在一个库和一套完整框架之间自如伸缩 高效:20kB运行大小,超快虚拟DOM 2...

javascript版万年历

1 <!DOCTYPE html PUBLIC "-//W3C//Dtd XHTML 1.0 transitional//EN" "http://www.w3.org/tr/xhtml1/Dtd/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"...

js中iframe的用法

最近遇到的项目总是习惯左边一个树,点击每个树的节点右边出现相应的信息,遇到这种情况用iframe还是很简单的, 例如 : 页面文件 1 @section Tree{ 2 <ul id="tree"> 3 </ul> 4 5 } 6 @section Search 7 { 8 } 9 <i...

apache2添加模块和添加站点

apache2添加模块和添加站点 linux下的apache2的目录和windows上的区别还是很大的,但是用起来却更方便了,详解请看另一篇文章http://www.cnblogs.com/wancy86/p/linux_apache2.html 这里补充两个命令: 添加模块: model_name是mods-available 下的模块名 sudo a2...