企评社

身份证号校验 / 解析

批量粘贴号码,一次算出校验位是否合规、出生日期、性别、周岁与省级行政区;不合规的会告诉你具体错在哪

号码只在你自己的浏览器里计算,不上传、不留存,关掉页面即消失

本工具能做什么、不能做什么: 它只能证明「格式与校验位合法」,不能证明这个号码真实存在。本工具不查具体市县(前 6 位只解析到省级行政区,不做区县对照),也不联网比对任何人口库。 校验位的作用只是拦住输错一位、顺序写反这类笔误——骗过校验位的假号码可以随意编造。 隐私:号码只在你自己的浏览器里计算,不上传、不留存,关掉页面即消失。

身份证号码是怎么构成的,校验位又是怎么算的?

18 位号码的六段含义:前 6 位是地址码(GB/T 2260 行政区划代码,第 1~2 位是省级、第 3~4 位是市级、第 5~6 位是区县级),第 7~14 位是出生日期(YYYYMMDD,例如 19900307 表示 1990 年 3 月 7 日),第 15~17 位是顺序码(同一地址码、同一天出生的人按登记顺序编号),第 17 位同时用来区分性别(奇数男性、偶数女性),第 18 位是校验位(0~9 或 X)。所以一个号码里能直接读出来的信息只有:省级行政区、出生日期、性别,以及校验位对不对——姓名、民族、住址、签发机关都不在号码里。

校验位是怎么算的(ISO 7064 MOD 11-2):把前 17 位数字从右往左分别乘以固定权重 2、4、8、5、10、9、7、3、6、1、2、4、8、5、10、9、7(从左往右写就是 7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2),把 17 个乘积相加后对 11 取余,余数 0~10 依次对应校验位 1、0、X、9、8、7、6、5、4、3、2。因为余数有 11 种而阿拉伯数字只有 10 个,其中一种必须用字母表示,这就是末位会出现 X 的原因(X 代表罗马数字 10)。本工具完全按这套算法计算,并把「期望校验位」直接写给你,方便你核对自己是不是抄错了一位。

为什么校验通过不等于「真号」:校验位只是一道算术自检,它能拦住绝大多数抄写错误(输错一位、相邻两位写反、少写或多写一位),但挡不住刻意编造——任何人只要把前 17 位编好再按公式补上末位,就能得到一个校验位完全正确的号码。同理,本工具不查市县、不查是否真的登记过、也不做任何联网比对,因此「校验合法」只说明这串数字格式上像一个身份证号,绝不说明它对应一个真实存在的人。反过来说,如果你只是想验证一个号码的格式与信息段,本工具足够;如果你想确认某人身份真伪,正确做法是走对方授权的人脸核身 / 官方核验渠道,而不是拿号码去网上「查真伪」——那些网站多半是在收集你的号码。

15 位老号和 18 位有什么区别、怎么升位:1985 年第一代身份证发的是 15 位号,它没有世纪前缀(出生日期只有 6 位 YYMMDD,默认 19 开头)也没有校验位,结构是 6 位地址码 + 6 位出生日期 + 3 位顺序码(末位区分性别)。1999 年换发二代证起统一改为 18 位,升位规则只有两步:在出生日期前补上「19」凑成 8 位,再按上面的 MOD 11-2 公式算出校验位补在最后。所以 15 位与 18 位是同一个人的同一份登记信息,升位后的号码是确定且唯一的——本工具对 15 位号码会直接给出升位结果,方便你把老证件上的号码和新系统里的号码对上。

为什么不要在陌生网站上输入身份证号:身份证号 + 姓名是最常用的实名组合,一旦连同姓名、手机号一起被收集,就可能被用于冒名注册、办理业务甚至电信诈骗。市面上不少「身份证真伪查询」「号码归属地查询」页面,实际上既查不到真伪(没有任何公开接口能查),又把用户输入的号码存进了自己的数据库——你查询的同时就完成了一次信息上交。本工具的做法相反:整页没有任何网络请求,号码不进 URL、不进 localStorage / sessionStorage、不写 cookie、不打印到控制台,计算完就只存在于这个页面的内存里,关掉或刷新页面即彻底消失。你可以打开浏览器开发者工具的 Network 面板自行核验:全程不会出现带着号码的请求。

常见问题

校验位算出来正确,就代表这个号码是真的吗?

不代表。校验位只是前 17 位的算术自检(ISO 7064 MOD 11-2),任何人都能先编造前 17 位、再按公式补出正确的末位,得到一个「校验通过」的号码。本工具也不查具体市县,无法判断这个号码是否真实存在——它只回答两个问题:格式是否合法(长度、字符、日期、省级行政区码、校验位),以及从这个号码里能读出什么(出生日期、性别、周岁、省份)。想核验真实身份,请走对方授权的人脸核身或官方渠道。

15 位和 18 位是什么关系?为什么升位要补「19」?

15 位是一代身份证的号码,出生日期只有 6 位(YYMMDD);18 位是二代证起统一使用的号码,出生日期 8 位(YYYYMMDD)。因为一代证发证时间都在 2000 年以前,15 位号里的年份默认是 19xx,所以升位就是「在第 7 位前插入 19」+「补算校验位」两步。本工具对 15 位号会直接给出升位后的 18 位结果。

为什么提示「校验位错误」?期望校验位是什么意思?

说明前 17 位算出来的校验位和你输入的末位不一致,最常见的原因是录入时某一位写错或相邻两位写反了。结果里给出的「期望校验位」就是按你输入的前 17 位重新算出的正确末位——如果它与实际末位只差一位,基本可以确定是抄写错误;如果给你一个明显不同的号码,那这个号码本身大概率是编的。注意 X 一律按大写处理,输入小写 x 会被自动规范。

为什么省外或境外的号码提示「行政区码未知」?

工具的省级映射表覆盖 34 个省级行政区(含港澳台)以及 71(台湾)、81(香港)、82(澳门)、91(国外)等特殊码;前 2 位不在这张表里就会提示未知。另外本工具只解析到省级,不做市县对照,所以即使省级对得上,也不能说明前 6 位对应某个真实存在的区县。

我的号码会被上传或留存吗?一次能校验多少个?

不会。号码只在你自己的浏览器里计算,不上传、不留存,关掉页面即消失;整页没有任何网络请求,号码也不进 URL、不进 localStorage / sessionStorage、不写 cookie、不打印到控制台。批量粘贴建议一次不超过 200 个(受浏览器渲染性能限制),超出部分会提示并自动截断,粘贴上千行也不会把页面卡死。

相关工具