很多地址表单并不是只检查 ZIP Code 是否为 5 位数字,还会同时检查城市、州和邮编是否属于同一地理区域。当前端提示 “ZIP Code does not match city/state” 时,问题通常不是邮编格式,而是字段之间的组合不成立。
Street、City 和 State 分别填什么?
Street 填门牌号和街道名,City 填城市,State 填州名或两位州缩写。一个常见组合是 5160 Oak Ave、Raleigh、NC、27601。City 和 State 要与 ZIP Code 对应,Address Line 2 则用于 Apt、Suite 或 Unit。
ZIP Code 校验通常检查什么
- 格式:是否为 5 位数字,或是否支持 ZIP+4。
- 州匹配:邮编是否属于所选 State。
- 城市匹配:城市名是否能与邮编覆盖区域对应。
- 服务范围:物流、支付或商家是否服务该地区。
- 地址标准化:第三方接口可能会把城市名、缩写、大小写自动改写。
常见报错原因
| 问题 | 表现 | 测试建议 |
|---|---|---|
| 州缩写错误 | ZIP 合法但 State 不匹配 | 准备同城市不同州、同州不同城市样例 |
| 城市别名 | 用户填别名,接口返回标准城市名 | 检查系统是否接受标准化后的城市名 |
| ZIP+4 不兼容 | 输入 9 位邮编时报格式错误 | 确认表单是否只允许 5 位 ZIP |
| 前后空格 | 肉眼看正确但校验失败 | 覆盖粘贴输入和 trim 逻辑 |
| 服务地区限制 | 地址格式正确但无法下单 | 区分格式校验和业务规则校验 |
前端测试清单
- ZIP Code 输入框是否限制非数字字符。
- ZIP+4 格式是否被允许,例如
94103-1234。 - State 是下拉选择还是自由输入。
- 城市大小写、连字符、空格是否被正确处理。
- 提交失败时错误提示是否指向具体字段。
- 修改 State 后,ZIP Code 是否需要重新校验。
后端和第三方接口测试清单
后端测试要把“格式正确”和“地址可服务”分开。一个 ZIP Code 可以格式正确,但不在商家配送范围内;也可能在配送范围内,但城市字段没有被标准化而导致失败。
- 记录第三方地址校验接口返回的标准化字段。
- 检查前端展示值与后端保存值是否一致。
- 确认失败时是否保留用户输入,避免用户重新填写整张表单。
- 准备边界样例:不存在的 ZIP、合法但不服务的 ZIP、城市大小写差异、州缩写差异。
如果你只是做 UI 和字段覆盖测试,可以使用格式样例;如果涉及支付、物流或税费计算,需要接入真实地址校验和业务规则测试。
需要生成字段齐全的样例时,可进入 美国地址测试数据工作区。