身份证校检正则表达式!!!

简介: 身份证校检正则表达式!!!

很简单,因为这是将输入框中的身份证号获取并校检,然后使后面的生日,性别,年龄输入框的值随之变换

首先,当然是要有那几个输入框(身份证,生日,性别,年龄)

HTML部分(输入框):

<!-- 绑定input事件 -->
   <input type="text" id="zheng" oninput="GetBir_and_Sex()" placeholder="身份证号">
   <input type="text" id="xing" disabled="disabled" placeholder="性别">
   <input type="date" id="sheng" disabled="disabled" placeholder="生日">
   <input type="date" id="nian" disabled="disabled" placeholder="年龄">

JS部分(功能):

只需要把绑定的input名换一下,还有这几个获取的输入框的名字换一下就可以啦!!!

//生日
      function GetBir_and_Sex() { //给输入身份证号的输入框绑定input
        // 获取身份证号的input标签
        let IDNu = document.getElementById('zheng');
        console.log(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;
        console.log(str);
        var born_border = document.getElementById('sheng');// 获取生日的input标签
        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(nian);
        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错误');
        }
        //性别 
        let sew = ''
        var sec = str.substring(16, 17);
        var sex = document.getElementById('xing');// 获取性别的input标签
        if (sec % 2 == 0) {
          sew = "女";
        } else {
          sew = "男";
        }
        console.log(sew);
        sex.value = sew;
        for (i = 0; i < sex.length; i++)
          if (sex.options[i].value == sew) {
            sex.options[i].selected = true;
          }
      }
相关文章
|
网络协议 JavaScript 前端开发
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名2
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名
3354 0
|
网络协议 JavaScript 前端开发
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名1
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名
1029 0
|
JavaScript
vue常用正则表达式判断身份证格式
这两个正则表达式分别用于验证18位和15位身份证号码。请注意,正则表达式只能用于初步验证身份证格式是否正确,不能验证身份证号码是否真实有效。在实际应用中,还需要进行进一步的校验,例如校验身份证的校验位等。
932 0
大陆、港澳台身份证、护照、军官证的正则表达式
大陆、港澳台身份证、护照、军官证的正则表达式
2736 0
各证件号码(身份证、护照、军官证、驾驶证、港澳台湾通行证、户口簿)正则表达式校验 完整正确
各证件号码(身份证、护照、军官证、驾驶证、港澳台湾通行证、户口簿)正则表达式校验 完整正确
2020 0
|
固态存储
身份证,港澳通行证,台胞证,护照正则表达式
身份证,港澳通行证,台胞证,护照正则表达式
2268 0
|
JavaScript 前端开发 网络协议
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名3
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名
1158 0
|
Java
java使用正则表达式判断手机号,固定电话,身份证,邮箱,url,车牌号,日期,ip地址,mac,人名等
版权声明:本文为博主原创文章,如需转载,请标明出处。 https://blog.csdn.net/alan_liuyue/article/details/78983474 简介   1.
4610 0
|
数据库 Python
Python网络数据抓取(8):正则表达式
Python网络数据抓取(8):正则表达式