地址格式校验
检查邮政编码是否符合该国写法、是否真实存在,以及与填写的城市是否对得上。
这里的「错误」和「可疑」有什么区别
错误:明确不符合该国邮编的字符结构。比如加拿大邮编里出现了 D、F、I、O、Q、U—— 这六个字母从不出现在加拿大邮编中,属于可以确定的错。
可疑:格式成立,但内容对不上。比如邮编在我们的数据里查不到,或者邮编指向的城市与你填的不一致。 这类情况有合理的例外——新建楼盘会拿到新号码,我们的数据也不是每个国家都完整覆盖, 所以只提示不判死。
这个区分是刻意的。地址数据天然混乱,过于严格的校验会把真实用户挡在门外, 这一点在邮政编码校验规则详解里有更完整的讨论。
各国邮编格式对照
| 国家 / 地区 | 格式 | 示例 |
|---|---|---|
| 🇺🇸美国 | 5 位数字,或 ZIP+4 的 9 位 | 94107 或 94107-1234 |
| 🇨🇦加拿大 | 字母数字交替的 6 位,且不含 D F I O Q U | M5B 2L7 |
| 🇬🇧英国 | outward code + inward code,inward 的两个字母不含 C I K M O V | SW1A 1AA |
| 🇯🇵日本 | 7 位数字,通常写作 3 位-4 位 | 〒150-0002 |
| 🇦🇺澳大利亚 | 4 位数字 | 2000 |
| 🇸🇬新加坡 | 6 位数字,可定位到具体建筑 | 018906 |
| 🇰🇷韩国 | 5 位数字(2015 年起启用,旧的 6 位已废止) | 04524 |
| 🇩🇪德国 | 5 位数字 | 10115 |
| 🇷🇺俄罗斯 | 6 位数字 | 101000 |
| 🇲🇾马来西亚 | 5 位数字 | 50000 |
| 🇹🇼台湾 | 3 位,或 2020 年起的 3+3 六位 | 110 或 110001 |
| 🇹🇭泰国 | 5 位数字 | 10200 |
| 🇦🇷阿根廷 | CPA 为「字母 + 4 位数字 + 3 字母」,旧式 CP 为 4 位数字 | C1043AAZ 或 1043 |
| 🇵🇭菲律宾 | 4 位数字 | 1100 |
| 🇹🇷土耳其 | 5 位数字,前 2 位为省牌照代码 01-81 | 34000 |
| 🇻🇳越南 | 5 位数字(2018 年由 6 位改为 5 位) | 70000 |
| 🇭🇰香港 | 没有邮政编码制度,该栏应留空。表单里常见的 999077 是内地系统的占位值,不是真实邮编。 | |