身份证号校验 API
校验中国居民身份证号码的格式、省级代码、出生日期和校验位,解析性别与年龄;只做数学校验,不查询任何实名信息
数据来源:本地计算(GB 11643-1999 公民身份号码、GB/T 2260 行政区划代码)
返回统一的 JSON 格式 { code, message, cached, stale, updatedAt, data },支持跨域,免注册每天可免费调用 100 次,注册后每天 10000 次。
身份证号码校验(校验位、出生日期、性别、年龄、省份)
GET /api/idcard/check
请求参数
id(必填):18 位身份证号(末位可为 X,不区分大小写)或 15 位老号码,示例11010519491231002X
返回字段
valid(boolean):号码是否通过全部校验(格式、省级代码、出生日期、校验位)。只代表号码本身合法,不代表真实存在或属于某人reason(string|null):不合法时的原因(取第一个未通过的检查);合法时为 nullmasked(string):打码后的号码(保留前 6 位和后 4 位),不回显完整号码length(number):去掉空格后的号码长度checks(object):各项检查结果;格式不对时后面几项为 null(未检查)checks.format(boolean):长度与字符是否正确(18 位末位可为 X,或 15 位纯数字)checks.province(boolean|null):前两位是否为有效的省级行政区代码checks.birthday(boolean|null):出生日期是否存在且在 1900 年至今天(北京时间)之间checks.checkDigit(boolean|null):第 18 位校验位是否正确(ISO 7064 MOD 11-2);15 位老号码没有校验位,为 nullprovince(string|null):省级行政区名称,如 北京市;代码无效时为 null。只解析到省级provinceCode(string|null):省级代码(号码前两位);格式不对时为 nullbirthday(string|null):出生日期 YYYY-MM-DD(15 位号码按 19xx 年);日期不合法时为 nullage(number|null):按北京时间今天计算的周岁;日期不合法时为 nullgender(string|null):性别:男 / 女(顺序码末位奇数为男、偶数为女);格式不对时为 null