搜档网
当前位置:搜档网 › 身份证验证规则

身份证验证规则

=MOD(SUM(LEFT($H6,1)*7, RIGHT(LEFT($H6,2),1)*9, RIGHT(LEFT($H6,3),1)*10, RIGHT(LEFT($H6,4),1)*5, RIGHT(LEFT($H6,5),1)*8, RIGHT(LEFT($H6,6),1)*4, RIGHT(LEFT($H6,7),1)*2, RIGHT(LEFT($H6,8),1)*1, RIGHT(LEFT($H6,9),1)*6, RIGHT(LEFT($H6,10),1)*3, RIGHT(LEFT($H6,11),1)*7, RIGHT(LEFT($H6,12),1)*9, RIGHT(LEFT($H6,13),1)*10, RIGHT(LEFT($H6,14),1)*5, RIGHT(LEFT($H6,15),1)*8, RIGHT(LEFT($H6,16),1)*4, RIGHT(LEFT($H6,17),1)*2), 11)


18位公式
=IF(RIGHT($H6,1)<>IF(U6>2, TEXT(12-U6, "0"), IF(U6=0, "1", IF(U6=1, "0", "X"))), "身份证输入错","")

15位和18位通用公式
=IF(LEN(H6)=18,MID("10X98765432",MOD(SUMPRODUCT(MID(H6,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=RIGHT(H6),IF(LEN(H6)=15,ISNUMBER(--TEXT(19&MID(H6,7,6),"#-00-00"))))



效验码
第十八位数字(校验码)的计算方法为:
1. 将前面的身份证号码17位数分别乘以不同的系数。
从第一位到第十七位的系数分别为: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2. 将这17位数字和系数相乘的结果相加。
3. 用加出来和除以11,看余数是多少?
4. 余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字。其分别对应的最后一位身份证的号码为 1 0 X 9 8 7 6 5 4 3 2
5. 通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。 如果余数是10,身份证的最后一位号码就是2。

相关主题