18位身份证号的结构

我国现行的第二代身份证号码是 18位,格式固定:

110101 19900307 775 8
└地区码┘ └出生日期┘ └└校验码
                 顺序码
  • 地址码(前6位):首次申领户口所在地的行政区划代码,前2位是省份,中间2位是城市,后2位是区县
  • 出生日期码(第7-14位):格式固定为 YYYYMMDD
  • 顺序码(第15-17位):同一地区同一天出生的人的编号,第17位奇数分配给男性、偶数分配给女性
  • 校验码(第18位):由前17位计算得出,用于发现抄写或录入错误

最后一位为什么可能是 X?

第18位校验码按国家标准 GB 11643 的算法生成:把前17位分别乘以权重系数 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,求和后对11取余,再按映射表得到校验字符。余数可能取 010 共11种值,但只有 09 十个数字可用,余数为 10 时就用罗马数字 **X(即10)来表示。

所以 X 不是什么特殊含义,纯粹是校验运算恰好算出了10。全国约有百分之几的人身份证以 X 结尾,完全正常。

怎么快速验证一个身份证号是否合法?

三层检查从粗到细:

  1. 格式:18位,前17位是数字
  2. 语义:省份代码存在、出生日期真实有效
  3. 校验码:末位与前17位的计算结果一致

人工算太麻烦,用我们的身份证号解析校验工具,输入号码立即完成全部三层校验并解析出省份、生日、性别——全程在浏览器本地进行,号码不经过网络。

隐私提醒

身份证号属于敏感个人信息。网上的"归属地查询"通常会把号码发送到对方服务器,处理测试数据时优先选择本地运行的工具;真实的他人证件号不要随意粘贴到不可信的网站。