身份证号码完全解析指南
身份证号码的结构
中国居民身份证号码由18位数字(最后一位可为X)组成,每部分都有特定含义:
-
第1-6位:
地址码,表示户籍所在地的行政区划代码
-
第7-14位:
出生日期码,格式为YYYYMMDD
-
第15-17位:
顺序码,同一地区同一天出生的人按顺序编号,奇数为男,偶数为女
-
第18位:
校验码,由前17位计算得出,可为0-9或X(X代表10)
校验码的计算方法
身份证校验码使用 ISO 7064:1983.MOD11-2 标准计算。具体步骤:
-
将前17位数字分别乘以对应权重(7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2)
- 将17个乘积相加得到总和
- 用总和除以11取余数
- 根据余数查表得到校验码(余数0对应1,余数1对应0,余数2对应X...)
地址码规则
地址码(前6位)采用《中华人民共和国行政区划代码》(GB/T2260)标准:
- 第1-2位:省级行政区(11=北京,31=上海,44=广东...)
- 第3-4位:地级行政区(市/地区/自治州)
- 第5-6位:县级行政区(县/市辖区/县级市)
出生日期码
第7-14位为8位出生日期,格式为年(4位)月(2位)日(2位)。例如:19900101代表1990年1月1日。出生日期必须是合法日期,不能早于1900年或晚于当前日期。
顺序码与性别判断
第15-17位为同一地区同一天出生的顺序编号。其中第17位(即倒数第二位)用于判断性别:奇数(1、3、5、7、9)代表男性,偶数(0、2、4、6、8)代表女性。
常见验证错误原因
- 长度不足或超过18位
- 前17位含有非数字字符(第18位可为X)
- 出生日期不合法(如月份超过12或日期超过当月天数)
- 出生日期是未来日期
- 校验码不匹配(最常见的输入错误)
隐私保护说明
本工具完全在浏览器前端运行,使用纯 JavaScript
实现所有解析逻辑。您输入的身份证号码不会通过任何网络请求离开您的设备。页面关闭后所有数据立即消失,不存储在任何数据库或日志中。
工具使用场景
- 验证输入身份证号码格式是否合法(开发测试场景)
- 从身份证号码中快速提取出生日期、年龄信息
- 学习了解身份证号码编码规则
- 测试前端表单验证逻辑