Проверка номера удостоверения
Вставь список номеров — сразу корректность контрольной цифры, дата рождения, пол, полный возраст и провинция; для некорректных указано, что именно не сходится.
身份证号码是怎么构成的,校验位又是怎么算的?
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-значный - номер удостоверения первого поколения, где дата рождения занимала 6 знаков (YYMMDD); 18-значный действует со второго поколения, дата - 8 знаков (YYYYMMDD). Поскольку первые выдавались целиком до 2000 года, год внутри 15-значного по умолчанию считается 19xx, поэтому повышение - это два шага: вставить 19 перед 7-й позицией и пересчитать контрольную. На 15-значном вводе страница сразу выдаёт повышенный 18-значный результат.
Это значит, что контрольная, вычисленная из ваших первых 17 знаков, не совпала с введённой последней - чаще всего при вводе перепутали одну цифру или соседние две. «Ожидаемая контрольная» в ответе - это правильная последняя цифра, пересчитанная из ваших 17: если расходится ровно на одну позицию - почти наверняка описка при переписывании; если выходит явно другой номер - сам номер, скорее всего, выдуман. Учтите: X всегда трактуется как заглавная, строчная x нормализуется автоматически.
Таблица провинций инструмента покрывает 34 единицы провинциального уровня (включая Сянган, Аомэнь и Тайвань) плюс специальные коды 71 (Тайвань), 81 (Сянган), 82 (Аомэнь) и 91 (зарубежье); если первых двух цифр в таблице нет - сообщает о неизвестном. Кроме того, инструмент разбирает только до провинции - сопоставления по городам и уездам не делает, - потому даже при верной провинции это не доказывает, что первым 6 цифрам соответствует реальный район или уезд.
Нет. Номер вычисляется только в вашем браузере: без загрузки, без хранения, закрытие страницы уничтожает его; страница не делает ни одного сетевого запроса, номер не попадает в URL, localStorage / sessionStorage, cookie или консоль. Для пакетной вставки берите не больше 200 номеров за раз (ограничение производительности отрисовки) - лишнее будет сообщено и обрезано автоматически, и даже тысяча строк не подвесит страницу.