zoukankan      html  css  js  c++  java
  • js 通过身份证识别生日、年龄、性别

    <script>
    function IdCard(UUserCard,num){
       if(num==1){
           //获取出生日期
           birth=UUserCard.substring(6, 10) + "-" + UUserCard.substring(10, 12) + "-" + UUserCard.substring(12, 14);
        return birth;
       }
       if(num==2){
           //获取性别
           if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) {
               //男
         return "男";
           } else {
               //女
         return "女";
           }
       }
       if(num==3){
            //获取年龄
            var myDate = new Date();
            var month = myDate.getMonth() + 1;
            var day = myDate.getDate();
            var age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1;
            if (UUserCard.substring(10, 12) < month || UUserCard.substring(10, 12) == month && UUserCard.substring(12, 14) <= day) {
                age++;
            }
      return age;
     }
    }
    alert (IdCard('身份证号',3));
    </script>

    下面是大概的规则
    18位身份证
    前1~2位数字表示:所在省份的代码;
    第3~4位数字表示:所在城市的代码;
    第5~6位数字表示:所在区县的代码;
    第7~14位数字表示:出生年、月、日;
    第15~16位数字表示:所在地的派出所的代码;
    第17位数字表示性别:奇数表示男性,偶数表示女性;
    15位差距不大

    前1~2位数字表示:所在省份的代码;
    第3~4位数字表示:所在城市的代码;
    第5~6位数字表示:所在区县的代码;
    第7、8位为出生年份(两位数)
    第9、10位为出生月份
    第11、12位代表出生日期
    第15位代表性别,奇数为男,偶数为女
  • 相关阅读:
    c++ primer 中讲的顶层const 和 底层 const 理解
    github 0 学习
    MySQL 0 学习
    c++11 move构造函数和move operator 函数 学习
    c++11 多线程 1
    c++ 多线程 0
    学习 emplace_back() 和 push_back 的区别 emplace_back效率高
    crontab执行脚本失败问题
    lucene 排序
    maven 内置变量
  • 原文地址:https://www.cnblogs.com/louby/p/4835687.html
Copyright © 2011-2022 走看看