zoukankan      html  css  js  c++  java
  • 使用js获取身份证年龄

     /**
        根据身份证号码判断性别
        15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日
        18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,
        第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
        */
        //根据身份证号获取年龄
        GetAge(identityCard) {
          let len = (identityCard + "").length;
          let strBirthday = "";
          if (len == 18) {
            //处理18位的身份证号码从号码中得到生日和性别代码
            strBirthday =
              identityCard.substr(6, 4) +
              "/" +
              identityCard.substr(10, 2) +
              "/" +
              identityCard.substr(12, 2);
          }
          if (len == 15) {
            let birthdayValue = "";
            birthdayValue = identityCard.charAt(6) + identityCard.charAt(7);
            if (parseInt(birthdayValue) < 10) {
              strBirthday =
                "20" +
                identityCard.substr(6, 2) +
                "/" +
                identityCard.substr(8, 2) +
                "/" +
                identityCard.substr(10, 2);
            } else {
              strBirthday =
                "19" +
                identityCard.substr(6, 2) +
                "/" +
                identityCard.substr(8, 2) +
                "/" +
                identityCard.substr(10, 2);
            }
          }
          //时间字符串里,必须是“/”
          let birthDate = new Date(strBirthday);
          let nowDateTime = new Date();
          let age = nowDateTime.getFullYear() - birthDate.getFullYear();
          //再考虑月、天的因素;.getMonth()获取的是从0开始的,这里进行比较,不需要加1
          if (
            nowDateTime.getMonth() < birthDate.getMonth() ||
            (nowDateTime.getMonth() == birthDate.getMonth() &&
              nowDateTime.getDate() < birthDate.getDate())
          ) {
            age--;
          }
          return age;
        },
  • 相关阅读:
    eclipse中解决update maven之后jre被改成1.5的问题
    Navicat for MySQL密鈅
    静态创建和动态创建对象的区别
    vector相关操作总结
    C++的编码技巧相关总结
    关于VS中未经处理的异常的梳理
    头文件用于声明而不是定义
    SQL单表查询练习部分总结
    delete对象时会自动调用类的析构函数
    SQL中的sum在何时会返回为null
  • 原文地址:https://www.cnblogs.com/maruihua/p/12510275.html
Copyright © 2011-2022 走看看