当前位置: 首页 > news >正文

Js 根据身份证号获取年龄-性别

参考:http://www.tuicool.com/articles/J7r2ien

方式一:

 $scope.GetAgeAndSexByIDNum = function (IdCardNO)
    {
        // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X  
        var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
        if (reg.test(IdCardNO) === false)
        {
            alert("身份证号输入不合法");
            return false;
        }
        var date = new Date();
        var yearfull = date.getFullYear();
        if (IdCardNO.length == 18)//18位身份证号处理
        {
            var birthyear = IdCardNO.substring(6, 10);
            var month = IdCardNO.substring(10, 12);
            var day = IdCardNO.substring(12, 14);
            var age = yearfull - birthyear;
            var sexValue = IdCardNO.substring(16, 17);
            var sex = (sexName % 2 == 0 ? "女" : "男");
            if (sex.toString() == "女")
                sexValue = "2";
            if (sex.toString() == "男")
                sexValue = "1";
            else sexValue = "3";
            $scope.applyForm.Age = age;

            document.getElementById("sex").value = sexValue;
            $scope.patient.sex = sex;
        }
        if (IdCardNO.length == 15)//15位身份证号处理
        {
            var birthDay = "";
            birthDay = IdCardNO.substring(6, 12);
            birthDay = "19" + birthDay;
            birthDay = birthDay.substring(0, 4);// + "-" + birthDay.substring(4, 6) + "-" + birthDay.substring(6)
            var age = yearfull - birthDay;//年龄
            var sex = parseInt(birthDay.substring(14, 1), 10) % 2 ? "男" : "女";//性别
            var sexValue = "";
            if (sex.toString() == "女")
                sexValue = "2";
            if (sex.toString() == "男")
                sexValue = "1";
            else sexValue = "3";
            $scope.applyForm.Age = age;
            document.getElementById("sex").value = sexValue;
            $scope.patient.sex = sex;
        }
    };

 

方式二:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="jquery.min.js"></script>
</head>
<body>  
<input type="tel" id="js_Idcard">
<span id="js_birthday"></span>
<script>
    $(function(){
        function GetBirthdatByIdNo(iIdNo){
            var tmpStr = "";
            var birthday = $("#js_birthday");

            iIdNo = $.trim(iIdNo);

            if(iIdNo.length == 15){
                tmpStr = iIdNo.substring(6, 12);
                tmpStr = "19" + tmpStr;
                tmpStr = tmpStr.substring(0, 4) + "-" + tmpStr.substring(4, 6) + "-" + tmpStr.substring(6);
                sexStr = parseInt(iIdNo.substring(14, 1),10) % 2 ? "" : "";
                birthday.text(sexStr + tmpStr);
            }else{
                tmpStr = iIdNo.substring(6, 14);
                tmpStr = tmpStr.substring(0, 4) + "-" + tmpStr.substring(4, 6) + "-" + tmpStr.substring(6);
                sexStr = parseInt(iIdNo.substring(17, 1),10) % 2 ? "" : "";
                birthday.text(sexStr + tmpStr);
            }
        }

    $("#js_Idcard").blur(function(){
        GetBirthdatByIdNo($(this).val());
    });
});     
</script>
</body>
</html>

方式三:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="jquery.min.js"></script>
</head>

<body>  
<input type="tel" id="js_Idcard">
<span id="js_birthday"></span>
<script>
    $(function(){
        function go(){
         var id = $("#js_Idcard").val();
         var last = id[id.length - 2];

         if(last % 2 != 0){
             $("#js_birthday").text("");
         }else{
             $("#js_birthday").text("");
         }
     }

     $("#js_Idcard").blur(function(){
        go();
     });
});     
</script>
</body>
</html>

 

 

 

转载于:https://www.cnblogs.com/YYkun/p/6213782.html

相关文章:

  • linux下正确安装jsoncpp
  • hive 复杂类型
  • SQL Case when 的使用方法
  • 设计模式--适配器模式Adapter(结构型)
  • 各种文件的mime类型
  • [游戏开发-学习笔记]菜鸟慢慢飞(三)-官方教程学习小心得
  • Object类中getClass()
  • dubbo问题求解
  • 单例模式浅析
  • Django基于Pycharm开发之二 [使用django adminSite]
  • bodyParser中间件的研究
  • asp.net mvc adminlte第一波
  • 【转】TCP/IP协议栈及OSI参考模型详解
  • 闭包2
  • 【Kubernetes】K8S 网络隔离 方案
  • Debian下无root权限使用Python访问Oracle
  • overflow: hidden IE7无效
  • react-native 安卓真机环境搭建
  • Sass Day-01
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Tornado学习笔记(1)
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 初探 Vue 生命周期和钩子函数
  • 开发基于以太坊智能合约的DApp
  • 坑!为什么View.startAnimation不起作用?
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 前端之Sass/Scss实战笔记
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 阿里云移动端播放器高级功能介绍
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​2021半年盘点,不想你错过的重磅新书
  • #pragma once与条件编译
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十八)SpringBoot之发送QQ邮件
  • (新)网络工程师考点串讲与真题详解
  • (转)iOS字体
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)程序员技术练级攻略
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .gitignore文件设置了忽略但不生效
  • .NET 8.0 发布到 IIS
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • @html.ActionLink的几种参数格式