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,
          })

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值