标签:
杂谈 |
分类: 信息技术 |
公式如下:
∑(a[i]*W[i]) mod 11 ( i = 2, 3, ..., 18
)
"*" 表示乘号
i--------表示身份证号码每一位的序号,从右至左,最左侧为18,最右侧为1。
a[i]-----表示身份证号码第 i 位上的号码
W[i]-----表示第 i 位上的权值 W[i] = 2^(i-1) mod 11
上述计算方法是从右至左,如果从左至右,第1-17位权重W[i]的计算结果为:
7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
计算公式一 令结果为 R
根据下表找出 R
对应的校验码即为要求身份证号码的校验码C。
R 0 1 2 3 4 5 6 7 8 9 10
C 1 0 X 9 8 7 6 5 4 3 2
由此看出 X 就是 10,罗马数字中的 10
就是X,所以在新标准的身份证号码中可能含有非数字的字母X。
假定身份证在B列(均为18位),检查其校验码是否正确,不正确的用红色字体显示。方法如下:
选中B列,“格式”/“条件格式”,将条件设为:
公式=RIGHT(B1)<>MID("10X98765432",MOD(SUMPRODUCT(MID(B1,ROW($1:$17),1)*MID("070910050804020106030709
点“格式”,将字体设为红色即可。