人事必备:身份证号码真假判断与编码解析
人事必备:身份证号码真假判断与编码解析
在人事工作中,经常需要处理大量员工的身份证号码。这些18位的数字串不仅承载着个人身份信息,还隐藏着诸多秘密。本文将为您详细解读身份证号码的构成规则,并提供快速准确的验证方法。
一、身份证号构成
18位的身份证号蕴含着丰富的个人信息:
- 前6位:代表不同的省份、市、县区。通过这6位数字,能精准定位到个人户籍所在地的行政区划代码。
- 中间7-14位:明确表示出生的年份、月份、日期。例如,若这部分数字为“20230904”,就意味着该人出生于2023年9月4日。
- 15-17位:是各个派出所分配的不同顺序码。其中,第17位尤为特殊,它的奇偶性可用于判断性别。若为奇数,则表示持证人是男性;若为偶数,则表示持证人是女性。
- 第18位:为身份证验证码。这是按照前17位数字,依据特定算法计算出来的一个编码,用于验证身份证号码的真实性。
例如,通过一个身份证号码“[具体号码]”,若前6位对应江西省南昌市安义县的行政区划代码,中间7-14位为“20230904”,第17位为偶数,我们就可以总结出:这是一位2023年9月4日,在江西省南昌市安义县出生的女性。
二、验证码计算规则
提取前17位数字:首先,我们需要将身份证的前17位数字逐个提取出来。在Excel中,可以使用公式:=MID($A$1,ROW(A1),1)来实现。这里,$A$1表示身份证号码所在单元格,ROW(A1)会随着公式向下填充,依次生成1到17的数字,从而依次提取出身份证号码的每一位数字。
乘以固定系数并求和:每个提取出来的数字,都要乘以对应不同的固定系数。这些系数是固定不变的,将它们与对应的数字相乘后,再把所有乘数相加,得到一个结果。假设通过计算得到的结果是274。
计算余数:接着,对求和的结果除以11,取其余数。例如,274 = 24 * 11 10,所以余数结果是10,在Excel中可用公式“MOD(D20,11)”计算,其中D20表示上述求和结果所在单元格。
对应验证码:根据余数的结果,对应不同的验证码。例如,余数为10时,对应的验证码是“2”。若一个身份证号的最后一位数字不是按照此规则计算得出的,那么这个身份证号大概率是假的。
三、一个公式批量验证
了解了上述验证码计算过程后,在实际工作中,我们可以通过一个公式批量判断身份证号的真假。使用公式:“=IF(RIGHT(B2)=MID("10X98765432",MOD(SUM(MID(B2,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)1,1),"真","假")”。这个公式看似复杂,实则是按照前面讲解的思路构建的。它先提取身份证号的每一位数字,乘以对应系数后求和,再计算余数,最后将得到的验证码与身份证号最后一位进行对比,从而判断身份证号的真假。
通过这个公式,我们可以快速对大量身份证号进行验证,提高人事工作中数据审核的效率和准确性。