js 输入身份证号码,得到出生年月和性别

身份证概念

      1:身份证分类:18位身份证和15位身份证

      2. 正则校验

      /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/

      3.组成

      ① 18位身份证中

           6位地址码,8位出生日期,三位数字顺序码,一位数字校验码    -------顺序码的奇偶来表示男女

      ②15位身份证中

           6位地址码,6位出生日期(其中7位和8位表示年  比如1959 对应59 )   三位数字顺序码  -------顺序码的奇偶来表示男女

应用

        在填写form表单时.填写 完身份证号码后,自动生成性别和出生日期

代码

  const idCard =this.props.form.getFieldValue('idCard');
          let birthday ="";
          let sex  = 0;
          if(idCard.length===15)
          {
            birthday=`19${idCard.substring(6,8)}-${idCard.substring(9,10)}-${idCard.substring(11,12)}`;
            sex=(idCard[14]%2 === 0)?'0':'1';
          }
          else{
            birthday=`${idCard.substring(6,10)}-${idCard.substring(11,12)}-${idCard.substring(13,14)}`;
            sex=(idCard[16]%2 === 0)?'0':'1';
          }
          this.setState({
            birthday,
            sex,
          })

猜你喜欢

转载自blog.csdn.net/weixin_40518538/article/details/81114420