js 输入身份证获取生日性别年龄

简介: js 输入身份证获取生日性别年龄

HTML部分:

身份证号:<input type="text" name="tidentity_border" id="tidentity_border" onChange="GetBir_and_Sex(this.id,'born_border','age_boorder','gender_border')" /><br>
    性别:<select name="gender_border" id="gender_border">
      <option value="">=选择性别=</option>
      <option value="男">男</option>
      <option value="女">女</option>
    </select><br>
    出生年月<input type="text" name="born_border" id="born_border" /><br>
    年龄:<input type="text" name="age_boorder" id="age_boorder" />

JS部分:

<script>
      // 根据身份证号获取 生日、 年龄、 性别
      //生日
      function GetBir_and_Sex(IDNu, born_border, ages, sex) {
        var IDNu = document.getElementById(IDNu);
        var re =
          /^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}([0-9]|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}))$/;
        if (!re.test(IDNu.value)) {
          alert("身份证号码有误,请重新填写!");
          IDNu.focus();
          //location.replace("");
          return false;
        }
        var str = IDNu.value;
        var born_border = document.getElementById(born_border);
        try {
          if (typeof(eval(born_border)) == "undefined") {
            //alert('参数born_border为空');
          } else {
            born_border.value = str.substring(6, 10) + "-" + str.substring(10, 12) + "-" + str.substring(12, 14);
          }
        } catch (e) {
          //alert('参数born_border错误');
        }
        //年龄 
        var ages = document.getElementById(ages);
        var myDate = new Date();
        var month = myDate.getMonth() + 1;
        var day = myDate.getDate();
        var age = myDate.getFullYear() - str.substring(6, 10) - 1;
        try {
          if (typeof(eval(ages)) == "undefined") {
            //alert('参数born_border为空');
          } else {
            if (str.substring(10, 12) < month || str.substring(10, 12) == month && str.substring(12, 14) <= day) {
              age++;
            }
            ages.value = age;
          }
        } catch (e) {
          //alert('参数born_border错误');
        }
        //性别 
        var sec = str.substring(16, 17);
        var sex = document.getElementById(sex);
        if (sec % 2 == 0) {
          var sew = "女";
        } else {
          var sew = "男";
        }
        sex.value = sew;
        for (i = 0; i < sex.options.length; i++)
          if (sex.options[i].value == sew) {
            sex.options[i].selected = true;
          }
      }

当我们输入身份证号时,可以通过身份证号的前6位数字来获取到出生年月信息,通过身份证号的第15位数字来获取性别信息。年龄可以通过当前时间减去出生年月来计算得出。具体实现过程可以通过解析身份证号来实现,比如使用正则表达式来获取身份证号的各个部分信息。


相关文章
|
4月前
|
JavaScript
js 输入身份证获取生日性别年龄
js 输入身份证获取生日性别年龄
|
4月前
|
JavaScript 计算机视觉
js身份证号输入自动判断其性别和出生年月日呢?进来来来来
js身份证号输入自动判断其性别和出生年月日呢?进来来来来
|
5月前
|
JavaScript 前端开发
js根据身份证号判断性别和生日
js根据身份证号判断性别和生日
30 0
|
6月前
|
前端开发 JavaScript
JS前端实现身份证号码合法性校验(校验码校验)
JS前端实现身份证号码合法性校验(校验码校验)
135 0
生日祝福(HTML+CSS+JavaScript+jQuery)
生日祝福(HTML+CSS+JavaScript+jQuery)
243 0
生日祝福(HTML+CSS+JavaScript+jQuery)
|
2天前
|
存储 移动开发 JavaScript
学习javascript,前端知识精讲,助力你轻松掌握
学习javascript,前端知识精讲,助力你轻松掌握
|
8天前
|
JavaScript 前端开发 测试技术
学习JavaScript
【4月更文挑战第23天】学习JavaScript
13 1
|
16天前
|
JavaScript 前端开发 应用服务中间件
node.js之第一天学习
node.js之第一天学习
|
2月前
|
运维 JavaScript 前端开发
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
|
2月前
|
JavaScript
Vue.js学习详细课程系列--共32节(6 / 6)
Vue.js学习详细课程系列--共32节(6 / 6)
27 0