docs(order/traveler): 补全出行信息 身份证号自动回填性别/出生日期(前端对接, 后端无改动)
这个提交包含在:
父节点
319751c781
当前提交
34a65ef657
@ -0,0 +1,40 @@
|
|||||||
|
# 出行人补全:身份证号自动回填「性别 / 出生日期」(前端对接)
|
||||||
|
|
||||||
|
> 模块:订单 · 补全出行信息弹窗(管理后台)
|
||||||
|
> 类型:**前端对接说明(纯前端逻辑,后端无改动)**
|
||||||
|
> 日期:2026-06-28
|
||||||
|
> 背景:「补全出行信息」弹窗里,出行人填了身份证号后,性别、出生日期目前还要手动再填一遍。这两项本就编码在身份证号里,前端可在输入证件号后**自动解析回填**,减少手填和填错。证件号本身已正常入库,后端无需改动。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 一、触发条件
|
||||||
|
|
||||||
|
- **仅当「证件类型 = 身份证」** 时启用自动回填;其它证件类型(护照 / 港澳台通行证等)无法从证件号推导,保持手填。
|
||||||
|
- 在「证件号」输入变化 / 失焦时,证件号长度为 **18 位**(现行)或 **15 位**(旧版)且校验通过,则解析并回填「性别」「出生日期」。
|
||||||
|
- 回填后两个字段**仍允许手动修改**(极个别证件号与实际不符时可人工覆盖)。
|
||||||
|
|
||||||
|
## 二、解析规则
|
||||||
|
|
||||||
|
### 18 位身份证(现行标准,绝大多数)
|
||||||
|
- **出生日期** = 第 7~14 位(`YYYYMMDD`)→ 格式化为 `YYYY-MM-DD`
|
||||||
|
- **性别** = 第 17 位:**奇数 = 男,偶数 = 女**
|
||||||
|
|
||||||
|
示例:`150782199502081450`
|
||||||
|
- 第 7~14 位 = `19950208` → 出生日期 `1995-02-08`
|
||||||
|
- 第 17 位 = `5`(奇数)→ 性别 `男`
|
||||||
|
|
||||||
|
### 15 位身份证(旧版,少量历史证件)
|
||||||
|
- **出生日期** = 第 7~12 位(`YYMMDD`),年份前补 `19` → `19YY-MM-DD`
|
||||||
|
- **性别** = 第 15 位(末位):**奇数 = 男,偶数 = 女**
|
||||||
|
|
||||||
|
## 三、建议的健壮性处理(前端自行把控)
|
||||||
|
|
||||||
|
- 长度不足 / 非 18·15 位 / 非身份证类型:不回填,不报错(用户继续手填)。
|
||||||
|
- 建议顺带校验 18 位的**校验码(第 18 位)**与出生日期合法性(月 1~12、日 1~31、不晚于今天);校验不过则不自动回填,可给轻提示「身份证号格式有误」。
|
||||||
|
- 第 18 位可能是 `X/x`,按 18 位身份证规则正常处理(不影响性别取第 17 位、出生日期取第 7~14 位)。
|
||||||
|
- 回填策略:识别到合法身份证号即覆盖回填这两项;用户手改后以用户值为准。
|
||||||
|
|
||||||
|
## 四、范围
|
||||||
|
|
||||||
|
- 涉及页面:订单详情 →「补全出行信息」弹窗的每个出行人卡片。
|
||||||
|
- 后端:**无改动**。性别 / 出生日期 / 证件号字段及保存接口均不变,前端回填后按原样提交即可。
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户