美国邮编查询:ZIP Code 反查州和城市
输入 5 位邮编,按 USPS 各州分配范围反查所属州;命中样例库时还会给出对应城市。往下是全部 51 州的邮编范围对照表、常用正则表达式和可复制的 JSON 数据。
51 州邮编范围对照表
每州一行,范围为 USPS 常见分配区间(个别跨州特例已并入所属州)。点击州名进入该州地址生成器。
| 州 | 缩写 | 邮编范围 |
|---|---|---|
| Alabama(阿拉巴马州) | AL | 35004–36925 |
| Alaska(阿拉斯加州) | AK | 99501–99950 |
| Arizona(亚利桑那州) | AZ | 85001–86556 |
| Arkansas(阿肯色州) | AR | 71601–72959, 75502 |
| California(加利福尼亚州) | CA | 90001–96162 |
| Colorado(科罗拉多州) | CO | 80001–81658 |
| Connecticut(康涅狄格州) | CT | 06001–06389, 06391–06928 |
| Delaware(特拉华州) | DE | 19701–19980 |
| District of Columbia(华盛顿特区) | DC | 20001–20039, 20042–20599, 20799 |
| Florida(佛罗里达州) | FL | 32004–34997 |
| Georgia(佐治亚州) | GA | 30001–31999, 39813–39901 |
| Hawaii(夏威夷州) | HI | 96701–96898 |
| Idaho(爱达荷州) | ID | 83201–83877 |
| Illinois(伊利诺伊州) | IL | 60001–62999 |
| Indiana(印第安纳州) | IN | 46001–47997 |
| Iowa(爱荷华州) | IA | 50001–52809, 68119–68120 |
| Kansas(堪萨斯州) | KS | 66002–67954 |
| Kentucky(肯塔基州) | KY | 40003–42788 |
| Louisiana(路易斯安那州) | LA | 70001–71232, 71234–71497 |
| Maine(缅因州) | ME | 03901–04992 |
| Maryland(马里兰州) | MD | 20331, 20335–20797, 20812–21930 |
| Massachusetts(马萨诸塞州) | MA | 01001–02791, 05501–05544 |
| Michigan(密歇根州) | MI | 48001–49971 |
| Minnesota(明尼苏达州) | MN | 55001–56763 |
| Mississippi(密西西比州) | MS | 38601–39776, 71233 |
| Missouri(密苏里州) | MO | 63001–65899 |
| Montana(蒙大拿州) | MT | 59001–59937 |
| Nebraska(内布拉斯加州) | NE | 68001–68118, 68122–69367 |
| Nevada(内华达州) | NV | 88901–89883 |
| New Hampshire(新罕布什尔州) | NH | 03031–03897 |
| New Jersey(新泽西州) | NJ | 07001–08989 |
| New Mexico(新墨西哥州) | NM | 87001–88441 |
| New York(纽约州) | NY | 00501–00544, 06390, 10001–14975 |
| North Carolina(北卡罗来纳州) | NC | 27006–28909 |
| North Dakota(北达科他州) | ND | 58001–58856 |
| Ohio(俄亥俄州) | OH | 43001–45999 |
| Oklahoma(俄克拉荷马州) | OK | 73001–73199, 73401–74966 |
| Oregon(俄勒冈州) | OR | 97001–97920 |
| Pennsylvania(宾夕法尼亚州) | PA | 15001–19640 |
| Rhode Island(罗德岛州) | RI | 02801–02940 |
| South Carolina(南卡罗来纳州) | SC | 29001–29948 |
| South Dakota(南达科他州) | SD | 57001–57799 |
| Tennessee(田纳西州) | TN | 37010–38589 |
| Texas(德克萨斯州) | TX | 73301, 75001–75501, 75503–79999, 88510–88589 |
| Utah(犹他州) | UT | 84001–84784 |
| Vermont(佛蒙特州) | VT | 05001–05495, 05601–05907 |
| Virginia(弗吉尼亚州) | VA | 20040–20041, 20101–20199, 22001–24658 |
| Washington(华盛顿州) | WA | 98001–99403 |
| West Virginia(西弗吉尼亚州) | WV | 24701–26886 |
| Wisconsin(威斯康星州) | WI | 53001–54990 |
| Wyoming(怀俄明州) | WY | 82001–83128, 83414 |
美国邮编正则表达式
5 位 ZIP Code
^\d{5}$最常用:只接受 5 位数字,如 90012。
ZIP 或 ZIP+4(推荐)
^\d{5}(-\d{4})?$同时接受 90012 和 90012-1234,是地址表单最稳妥的写法。
仅 ZIP+4
^\d{5}-\d{4}$强制要求 4 位扩展段,一般只在对账、批量清洗时使用。
注意:正则只能验证格式,不能验证邮编真实存在,更不能验证它和 City / State 字段匹配——这是地址表单最常见的漏验点。要做一致性校验,用上面的范围表(州级),或直接用地址生成器产出的匹配样例做正反用例。
州邮编范围 JSON
51 州完整范围数据(闭区间,含跨州特例),可直接用于表单校验或数据清洗。更多测试数据见开源仓库 us-address-sample-data。
{
"AL": [
[
35004,
36925
]
],
"AK": [
[
99501,
99950
]
],
"AZ": [
[
85001,
86556
]
],
"AR": [
[
71601,
72959
],
[
75502,
75502
]
],
"CA": [
[
90001,
96162
]
],
"CO": [
[
80001,
81658
]
],
"CT": [
[
6001,
6389
],
[
6391,
6928
]
],
"DE": [
[
19701,
19980
]
],
"DC": [
[
20001,
20039
],
[
20042,
20599
],
[
20799,
20799
]
],
"FL": [
[
32004,
34997
]
],
"GA": [
[
30001,
31999
],
[
39813,
39901
]
],
"HI": [
[
96701,
96898
]
],
"ID": [
[
83201,
83877
]
],
"IL": [
[
60001,
62999
]
],
"IN": [
[
46001,
47997
]
],
"IA": [
[
50001,
52809
],
[
68119,
68120
]
],
"KS": [
[
66002,
67954
]
],
"KY": [
[
40003,
42788
]
],
"LA": [
[
70001,
71232
],
[
71234,
71497
]
],
"ME": [
[
3901,
4992
]
],
"MD": [
[
20331,
20331
],
[
20335,
20797
],
[
20812,
21930
]
],
"MA": [
[
1001,
2791
],
[
5501,
5544
]
],
"MI": [
[
48001,
49971
]
],
"MN": [
[
55001,
56763
]
],
"MS": [
[
38601,
39776
],
[
71233,
71233
]
],
"MO": [
[
63001,
65899
]
],
"MT": [
[
59001,
59937
]
],
"NE": [
[
68001,
68118
],
[
68122,
69367
]
],
"NV": [
[
88901,
89883
]
],
"NH": [
[
3031,
3897
]
],
"NJ": [
[
7001,
8989
]
],
"NM": [
[
87001,
88441
]
],
"NY": [
[
501,
544
],
[
6390,
6390
],
[
10001,
14975
]
],
"NC": [
[
27006,
28909
]
],
"ND": [
[
58001,
58856
]
],
"OH": [
[
43001,
45999
]
],
"OK": [
[
73001,
73199
],
[
73401,
74966
]
],
"OR": [
[
97001,
97920
]
],
"PA": [
[
15001,
19640
]
],
"RI": [
[
2801,
2940
]
],
"SC": [
[
29001,
29948
]
],
"SD": [
[
57001,
57799
]
],
"TN": [
[
37010,
38589
]
],
"TX": [
[
73301,
73301
],
[
75001,
75501
],
[
75503,
79999
],
[
88510,
88589
]
],
"UT": [
[
84001,
84784
]
],
"VT": [
[
5001,
5495
],
[
5601,
5907
]
],
"VA": [
[
20040,
20041
],
[
20101,
20199
],
[
22001,
24658
]
],
"WA": [
[
98001,
99403
]
],
"WV": [
[
24701,
26886
]
],
"WI": [
[
53001,
54990
]
],
"WY": [
[
82001,
83128
],
[
83414,
83414
]
]
}邮编 → 州 校验函数
把左侧 JSON 和这个函数一起放进项目,就能在提交前校验「邮编与所选州是否一致」。程序化调用见 免费地址 API。
const STATE_ZIP_RANGES = /* 上方 JSON */;
function zipToState(zip) {
if (!/^\d{5}$/.test(zip)) return null;
const n = Number(zip);
for (const [state, ranges] of Object.entries(STATE_ZIP_RANGES)) {
if (ranges.some(([a, b]) => n >= a && n <= b)) return state;
}
return null;
}输入邮编后查到的州准确吗?
本页按 USPS 各州邮编分配范围判断,覆盖全部 51 个州/特区,并处理了跨州特例(如 71233 属 MS、75502 属 AR)。个别新分配的邮编可能超出既有范围,以 USPS 官方数据为准。
为什么有的邮编以 0 开头,粘贴到 Excel 会丢位?
新英格兰地区(CT/MA/ME/NH/NJ/RI/VT)和纽约部分邮编以 0 开头,如 02138。电子表格会把它当数字处理丢掉前导 0,导入前应把邮编列设为文本格式,校验时也要用字符串而不是数字比较。
ZIP 和 ZIP+4 有什么区别,表单该用哪种正则?
ZIP 是 5 位基础邮编,ZIP+4 在后面追加 4 位投递段(如 90012-1234)。表单推荐用 ^\d{5}(-\d{4})?$ 同时兼容两种输入;只存 5 位时截取前 5 位即可。
需要一批城市、州、邮编互相匹配的完整地址怎么办?
用 AddressMock 的地址生成器:按州或城市生成姓名、街道、City、State、ZIP 严格匹配的完整样例,支持批量导出 CSV/JSON,也有免费 API。