zoukankan      html  css  js  c++  java
  • JS根据身份证号码算年龄

    如果把身份证号码传到页面上,在前端页面获取年龄就需要用到JS脚本了:
    function GetAge(identityCard) {
        var len = (identityCard + "").length;
        if (len == 0) {
            return 0;
        } else {
            if ((len != 15) && (len != 18))//身份证号码只能为15位或18位其它不合法
            {
                return 0;
            }
        }
        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;
    }
    

    作者:Eric Li
    出处:http://www.cnblogs.com/ericli-ericli/
    除转载文章外,随笔版权归作者和博客园所有,欢迎转载,转载请标明出处。
    如果您觉得本篇博文对您有所收获,觉得作者还算用心,请点击右下角的 [推荐],谢谢!

  • 相关阅读:
    Android Studio 中关于NDK编译及jni header生成的问题
    为YAESU FT-817ND 增加频谱功能
    Nagios 安装配置
    ubuntu 13.10 Ralink RT3290 无线与蓝牙4.0的驱动安装
    golang全文搜索--使用sphinx
    GNU Radio 之 rtl-sdr
    OsmocomBB && Motorora C118
    OsmocomBB 编译安装
    Go 若干技巧
    Docker内核知识
  • 原文地址:https://www.cnblogs.com/ericli-ericli/p/4716761.html
Copyright © 2011-2022 走看看