你的身份证号码不是随机生成的——18 位里每一位都有明确含义。理解它的结构,不光能帮你看懂别人的身份证,还能一眼识别出明显伪造的号码。
整体结构
3 1 0 1 1 5 1 9 9 0 0 1 0 1 0 0 1 X
└─地区码─┘ └────出生日期────┘ └顺序码┘ 校验
6 位 8 位 3 位 1 位
前 6 位:行政区划代码
按国标 GB/T 2260 编码:
- 1-2 位:省(直辖市/自治区)。例如
31是上海、11是北京、44是广东 - 3-4 位:地级市
- 5-6 位:县(市、区)
注意:这是办理身份证时的户籍地址,不是出生地,也不会随你搬家而变。
7-14 位:出生日期
YYYYMMDD 格式,8 位整数。比如 19900101 就是 1990 年 1 月 1 日。
历史上的 15 位身份证只有 6 位(YYMMDD),2000 年前后统一升位到 18 位,把年份补全到 4 位。
15-17 位:顺序码
同一个地区、同一天出生的人,按登记顺序编号。
关键点:倒数第二位(第 17 位)的奇偶性表示性别——奇数为男,偶数为女。这是身份证号里最常被用到的”隐藏信息”。
第 18 位:校验码
最神奇的一位。它不是随便填的,而是用前 17 位按 ISO 7064:1983, MOD 11-2 算法计算出来的。算法:
- 前 17 位每一位乘以固定权重:
[7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2] - 所有乘积求和,再对 11 取模
- 用余数查表得到校验位:
[1, 0, X, 9, 8, 7, 6, 5, 4, 3, 2]
当校验位是 X 时,表示”罗马数字 10”——因为单个数字最多只能表示 9,X 代替两位数 10。
你能立刻做什么
- 看性别:看倒数第二位奇偶
- 看生日:7-14 位
- 看省份:前 2 位(记住 11 北京、31 上海、44 广东、51 四川、33 浙江几个常见的就够用了)
- 看真假:校验码算不对的号码一定是假的,但算得对也不代表是真的(有可能是按规则拼出来的)
想快速解析?
手动按权重算校验码不现实。把号码贴进解析器,生日、性别、户籍地、校验结果一键出来,还能批量处理 Excel 导出的列表。