身份证概念
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,
})