当地址表单分散为 City、State、ZIP Code 三个独立字段时,系统需要验证这三个字段的组合是否合理。很多表单会在 City 变更后自动验证 ZIP Code,或在 ZIP Code 变更后清空 City 和 State。这种交互逻辑的复杂性需要仔细测试。

本文讨论字段验证逻辑,不代表地址真实可收件。

City-State-ZIP 三字段的对应关系

标准的对应关系是:一个 City 通常对应一个 State,一个 City 可能对应多个 ZIP Code(大城市),或一个 ZIP Code 可能对应多个 City(边界地带)。表单验证需要考虑这些变体。

为什么 City-State-ZIP 会不匹配?

典型的验证场景

场景 1:用户选择 California(CA)和 Los Angeles 后,系统自动填充可能的 ZIP Code(90001-90045 等)。场景 2:用户输入 ZIP Code 90210 后,系统显示对应的 City 为 Beverly Hills,State 为 California。

City-State-ZIP 匹配表单测试清单

第三方验证服务的使用

对于大型电商和支付系统,使用专业的地址验证服务(如 SmartyStreets、PostGrid、Melissa Data)可以提升准确性和用户信心。这类服务通常提供 API,支持实时验证。

需要测试样例和参考,可以使用 美国地址生成器