身份证第18位校验码的生成方法:
1、将身份证号码前17位数分别乘以7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2。然后将其相加。...2、将17位数字和系数乘加的和除以11,得到余数。
3、余数与校验码的对应关系为1,0,X,9,8,7,6,5,4,3,2。也即:如果余数是3,身份证第18位就是9。...check()对身份证合法性进行验证的规则:
1. 确认15位身份证正确.
2. 确认18位号码是从15位号码扩展的,且第18位校验码正确.
3. 身份证中的出生日期合法.
4....身份证号码中不含非法字符.
5. 身份证号码的长度正确.
6....还有一个地方,那就是新18位身份证号码必须是从15位基础上建立的,也就是说,除了添加的3位,其他的必须一样。
那我们就要把原本应该相同的地方拿出来比较,也就是提取子串进行比较。