js 实现通过身份证获取年龄

Posted 凯小默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 实现通过身份证获取年龄相关的知识,希望对你有一定的参考价值。

function getAge(identityCard) 
    var len = (identityCard + "").length;
    if (len == 0) 
        return '';
     else 
        if ((len != 15) && (len != 18)) //身份证号码只能为15位或18位其它不合法
        
            return '';
        
    
    var strBirthday = "";
    if (len == 18) //处理18位的身份证号码从号码中得到生日和性别代码
    
        strBirthday = identityCard.substr(6, 4) + "/" + identityCard.substr(10, 2) + "/" + identityCard.substr(12, 2);
    
    if (len == 15) 
        strBirthday = "19" + identityCard.substr(6, 2) + "/" + identityCard.substr(8, 2) + "/" + identityCard.substr(10, 2);
    
    //时间字符串里,必须是“/”
    var birthDate = new Date(strBirthday);
    var nowDateTime = new Date();
    var age = nowDateTime.getFullYear() - birthDate.getFullYear();
    //再考虑月、天的因素;.getMonth()获取的是从0开始的,这里进行比较,不需要加1
    if (nowDateTime.getMonth() < birthDate.getMonth() || (nowDateTime.getMonth() == birthDate.getMonth() && nowDateTime.getDate() < birthDate.getDate())) 
        age--;
    
    return age;

以上是关于js 实现通过身份证获取年龄的主要内容,如果未能解决你的问题,请参考以下文章

php 实现根据身份证获取精准年龄

js根据身份证号码解析获取出生年月日性别年龄

JS根据身份证号码精确计算年龄和性别

java 通过身份证号码获取出生日期性别年龄

Excel通过身份证获取出生年月,性别,年龄,生肖,星座,省份等信息总结归纳

身份证处理函数Mysql篇含获取性别年龄15位身份证升级到18位