身份证格式解析

身份证号码格式解析:校验 15/18 位与校验码,解析生日、性别、省份、城市、区县等,不联网核验

身份证号码格式解析(仅算法,不联网核验):
校验 15/18 位格式与 18 位校验码;解析出生年月日、性别(由顺序码奇偶判断)。

调用地址:https://api.ynlskj.com.cn/gateway/idparse

请求方法:POST

在其他地方怎么调用

  1. 请求地址用上面的调用地址,把 JSON 放在请求体里
  2. 方法用 POST
  3. API Key 只能放在请求头 X-API-Key,不要写进网址,也不要写进 Query 框
  4. Key 在「个人中心 → API Key」里复制,登录后会自动填入你自己的 Key

参数说明

参数位置必填说明
idcardBody JSON15 位或 18 位身份证号,18 位末位可为 X。也可用 id_cardid
X-API-KeyHeader你的 API Key

原理说明(性别怎么来的)

不需要联网、不需要数据库。身份证号里顺序码的最后一位(18 位是倒数第二位)用来区分同一天同地区登记的顺序:奇数为男,偶数为女。

位数含义
18 位:第 7–14 位YYYYMMDD 出生年月日
18 位:第 17 位性别位,奇数男、偶数女
18 位:第 18 位校验码(由前 17 位按国标公式算出,可为 0–9 或 X)
前 6 位region_code 行政区划码,本站内置民政部县级区划包(约 3000 条),可解析省/市/区县
15 位:第 7–12 位YYMMDD,年份按 19XX 理解
15 位:第 15 位性别位,奇数男、偶数女

请求示例

场景Body 示例
18 位身份证{"idcard":"110101199003078515"}
15 位老身份证{"idcard":"110101900307851"}

本接口仅做格式与校验码校验,不核验姓名是否匹配、不查公安库。需要实名核验请用「实名认证 idcard」接口。

地区数据内置民政部县级区划(现行约 3000 条 + 历史约 3000 条)。老旧身份证上的区划码(如 532225)会标记 region_legacy=true;数据可通过 php cli/build_idcard_regions.php 更新。

返回说明

字段说明
retok 成功,err 失败
data.idcard规范化后的身份证号(大写 X)
data.valid格式与校验码是否通过,成功时为 true
data.length15 或 18
data.region_code前 6 位地区码
data.province / city / district省、市、区县名称
data.region完整地区文字,如「北京市东城区」
data.region_matched匹配精度:district 区县、city 市级、province 省级、none 未命中
data.region_legacy是否为历史区划码(身份证上的旧码,现行码已变更)。true 时地区名称按发证年代解析
data.birthday出生日期 YYYY-MM-DD
data.sex / sex_code男/女;1 男、2
data.sex_digit用于判断性别的数字位(18 位为第 17 位,15 位为第 15 位)
data.checksum_ok18 位时校验码是否正确;15 位恒为 false
data.note提示:仅格式解析,不联网核验
msg本站提示,如「次数充足,剩余 99 次」或「次数不足,剩余 0 次」
remain_quota本次调用后的剩余次数

可直接复制的代码

未登录时示例只显示「你的密钥」。登录后会自动填入你自己的 Key,不会展示别人的。

<?php
$ch = curl_init('https://api.ynlskj.com.cn/gateway/idparse');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ['X-API-Key: 你的密钥', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{
    "idcard": "110101199003078515"
}',
]);
echo curl_exec($ch);

请求参数演示

{"idcard":"110101199003078515"}

响应演示

{"ret":"ok","data":{"idcard":"110101199003078515","valid":true,"length":18,"region_code":"110101","birthday":"1990-03-07","birth_year":1990,"birth_month":3,"birth_day":7,"sex":"男","sex_code":1,"sex_digit":1,"checksum_ok":true,"note":"仅格式解析,不联网核验身份真实性"}}

在线调试

登录后可在线调试。调试会真实调用网关并消耗次数。

去登录