跳到主内容
UniKit

身份证号提取

批量提取 18 位(末位可为 X)与 15 位中国居民身份证号,按 GB 11643-1999 的加权模 11-2 算法真的算出校验位并核对出生日期是否真实存在,可选只输出校验通过的号码。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

待提取文本

提取结果

一行一项,可直接复制。

粘贴文本后即可提取身份证号

命中: 0 · 不重复: 0 · 校验通过: 0 · 校验不通过: 0

这个工具能做什么

  • 从工单、表格导出或聊天记录里把身份证号挑出来,顺便确认校验位有没有被抄错一位。
  • 做数据质量检查:只输出校验通过的号码,快速定位哪些记录需要回源头核对。
  • 清洗历史数据时同时抓 18 位新号与 15 位旧号,避免旧格式在导入时被漏掉。

示例

输入

合法号码 440306198012120038;把校验位改错的 440306198012120039 应当被判为不通过。

输出

440306198012120038
440306198012120039

校验位 = 前 17 位按 [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2] 加权求和后 mod 11,再到 10X98765432 取字符,改一位就对不上。

常见问题

校验位是怎么算的?

前 17 位分别乘以权重 7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2,求和后对 11 取余,再按 10X98765432 取字符;所以余数 0 得到 1、余数 2 得到 X。

15 位旧号有校验位吗?

没有。15 位格式是地区码 + 出生日期(YYMMDD,一律按 19xx 解释)+ 顺序码,工具只校验出生日期是否真实存在。

出生日期非法会怎样?

会被判为不通过,例如 19900230 这种不存在的日期,即使校验位算得对也不通过。

校验通过就说明号码真实存在吗?

不能。校验只说明号码形式上合法(位数、字符集、出生日期、校验位),工具不联网、不查任何数据库。

最多能处理多少文本?

两百万字符。超过会直接报错,避免主线程被超大输入拖死。

关键词:身份证提取身份证号提取id card extractorGB 11643校验位加权模11身份证正则批量提取身份证

同类工具