生活工具 · 证件号码

区号查询

中国城市电话区号互查

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 100 次使用
本地查询 · 不联网 · 城市区号库
输入城市名(支持简称 / 拼音 / 首字母模糊匹配)
↑↓ 选择 · 回车确认 · 支持中文 / 拼音 / 首字母
分级速查tier reference · 区号编排规律
直辖市 · 3 位4 城
010 北京 · 021 上海
022 天津 · 023 重庆
国务院直辖;3 位区号资源最稀缺,仅赋予省级直辖市。
广州特例 · 3 位1 城
020 广州
华南门户、副省级城市,历史上获分配 3 位区号 020,与北上天重并列大陆仅有的 5 个 3 位区号城市。
经济特区 / 计划单列4 位
0755 深圳 · 0574 宁波
0532 青岛 · 0411 大连
0592 厦门
特区与计划单列市经济地位特殊,独立编号但仍为 4 位(深圳为典型 4 位 0755)。
港澳台 · 独立国际码3 区
852 香港 · 853 澳门
886 台湾
采用独立国际区号(不属 +86);大陆拨打须按国际方式 00 + 区号。
客服速查service hotlines · 运营商 / 民生 / 银行
三大运营商 / 监管
10086中国移动客服
10010中国联通客服
10000中国电信客服
10099中国广电客服(192 号段)
12300工信部电信用户申诉
12321不良信息举报中心
公共应急 / 民生
110报警服务台(公安)
119消防火警
120医疗急救
122交通事故报警
12345政务便民热线
12315消费者投诉
银行客服
95588工商银行
95533建设银行
95566中国银行
95599农业银行
95555招商银行
95568民生银行
说明 · 诚实标注how it works

· 纯本地查询:所有匹配在你的浏览器内完成,输入不上传任何服务器,不写 localStorage。

· 数据来源:中国大陆长途区号依据工信部《电信网编号计划》(YD/T);国际区号依据 ITU-T E.164。

· 县级市跟随地市:区号以地级行政单位为最小单元,县 / 县级市共用所属地市区号(计划单列市例外)。

· 区号即长途接入:区号第一位 0 是国内长途接入码,国际拨入(+86)时须去掉这个 0。

就绪 · 输入城市名或区号即可双向查询
相关工具related tools
常见问题FAQ
为什么北上广深的区号是 3 位,其他城市都是 4 位?
中国长途区号采用等长度 + 地理编码规则:第 1 位 0 是长途接入码;第 2 位标识大区(1 北京 / 2 沿海 / 3 华南 / 4 东北 / 5 华东 / 7 中南 / 8 西北 / 9 西部);后面位数代表行政等级。3 位号资源最稀缺,工信部仅分配给国务院直辖市(010/021/022/023)和广州 (020)。其余城市作为地级市统一使用 4 位区号。注意深圳是 0755(4 位),并非 3 位。
从手机拨打大陆固话需要加区号前的 0 吗?
必须加。从手机拨打任何固话都属于国内长途性质(即使同城),系统需要长途接入码 0 标识。例:手机拨北京固话 010-12345678。但座机本地拨同城座机可省略区号直接拨 8 位号码。
国际拨打中国大陆为什么 +86 后面要把区号的 0 去掉?
区号第一位 0 是国内长途接入码,仅在境内拨打时使用;通过 +86 接入中国网络后再加 0 会触发拨号错误。正确写法:北京 +86 10 12345678、深圳 +86 755 12345678。这是 ITU-T E.164 国际规范。
香港 / 澳门 / 台湾的区号为什么和大陆不同?
三地在 ITU-T 电信编号分配上各自独立:香港 +852、澳门 +853、台湾 +886,均为 8 位左右本地号码。三地不属于 +86 国家计划,从大陆拨打要按国际方式 00852 / 00853 / 00886。
为什么有的城市没有独立区号(如县级市跟随地级市)?
区号分配以地级行政单位为最小单元,县 / 县级市 / 旗共用所属地级市区号。例:浙江义乌(县级市)属金华管辖,使用 0579(金华区号)。例外是计划单列市(深圳 0755、宁波 0574 等)给予独立区号。
+86 / 0086 / 086 三种写法哪个对?
+86 是 ITU-T E.164 国际标准写法(推荐用于通讯录、SIM 卡),加号代表国际拨号前缀由设备自动转换。0086 是老式座机硬编码格式(00 国际呼出 + 86 国家码)。手机存号一律推荐 +86,国际漫游可直接通话短信。
第一节

关于本工具

About

拨一个陌生城市的电话,最怕的不是占线,是区号记错。这个工具把中国城市名和电话区号做成双向查询——输入城市名出来区号,输入区号也能反查归属地。数据覆盖国内主要城市及区县,查询结果由服务端实时返回,无需安装任何东西。

使用场景

异地客户电话回拨

销售小张的客户名单里有个来自湖南娄底的座机号码,他担心直接回拨过去是长途费,又怕打错外地区号耽误客户。他打开本工具,输入「娄底」查到区号是 0738,确认号码无误后,用手机直接拨 0738-xxxxxxx,通话费按市话算,避免了用 400 号码中转或猜区号拨错的尴尬。

快递寄件填错区号

快递员小王上门取件时,收件人报的地址是「浙江省舟山市」,他习惯性写了区号 0580,但系统提示区号与城市不匹配。他现场用本工具输入「舟山」查得区号是 0580,确认无误后继续操作。原来舟山是 0580,而 0580 同时也是浙江部分其他地区的区号,本工具能精准匹配到地级市,避免寄错分拣中心。

旅行社订酒店前台电话

导游老李带团到江西景德镇,客人想临时加订一家民宿,但民宿只留了座机号码。老李不确定景德镇的区号是 0798 还是 0799(江西其他城市混用),他翻出手机用本工具输入「景德镇」,查到区号是 0798,顺利拨通前台订到房间。如果猜错区号,可能打去上饶或九江,耽误整团入住。

外企分公司通讯录更新

行政专员小陈负责更新公司全国分公司的座机通讯录,其中「西藏林芝」的区号她记不清是 0894 还是 0893(林芝与山南相邻,区号易混淆)。她打开本工具输入「林芝」,确认区号是 0894,并批量核对其他 20 个城市区号,确保通讯录印刷前零错误,避免客户因区号错误打不通电话。

老家亲戚来电回拨

在外打工的老王手机里有个未接来电,显示是「0371」开头的座机号,他记得老家河南的区号是 0371,但郑州、开封、洛阳都用 0371 吗?他查了本工具,发现 0371 是郑州的区号,而开封是 0378、洛阳是 0379。确认后回拨过去,原来是老家村委会通知他领补贴,避免了误拨到其他城市。

对比矩阵

维度本工具114 查号台传统方法(电话簿/人工)
查询速度输入城市名即时显示区号需拨号 + 语音导航 + 等待人工翻书 / 问人,分钟级
隐私纯浏览器端处理,无数据上传需提供查询意图,通话可能录音无隐私问题但效率低
离线可用完全离线(WASM 本地执行)需联网拨号完全离线
覆盖范围中国所有城市及县级以上区号仅限已登记号码的城市依赖出版物更新频率
更新时效数据随官方公告同步更新号码库更新滞后出版周期常以年计
操作成本免费,无注册,零学习成本市话费,需记住区号或城市名需购买/借阅电话簿
第二节

使用指南

Getting Started

使用步骤

  1. 1在输入框键入城市名(如「北京」)或区号(如「010」),下拉候选区同步匹配,无需完整输入
  2. 2点击候选列表中的目标项,结果区立即显示对应区号或城市名,并标注所属省份
  3. 3点击结果区任意条目右侧的复制图标,区号或城市名即存入剪贴板,粘贴即可使用

输入输出示例

输入输出说明
北京010常规:直辖市标准区号,验证城市名到区号的基础查询
010北京常规:区号到城市名的反向查询,验证双向互查功能
上海021常规:第二个直辖市,确认多城市覆盖
0769东莞边界:非省会城市区号,验证地级市查询能力
0100未找到匹配结果边界:输入四位区号(实际中国区号最多四位但无此号),验证非法区号返回空结果
西藏0891(拉萨)边界:省级行政区名(非城市名),工具应返回省会区号,验证模糊匹配策略
北京(带括号)010易错:用户常输入带括号或空格的城市名,验证输入清洗能力
0755深圳易错:0755 也是腾讯总机号,易与工具区号混淆,验证工具仅返回城市名而非其他含义

常见错误对照

1.把区号当完整号码输入

✗ 错误010-12345678
✓ 修复010

区号查询工具只接受不带号码的区号本身(如 010),输入完整号码会导致无匹配结果。区号是城市级标识,号码是用户级标识,两者层级不同。

2.区号前加了国际前缀

✗ 错误+86-010
✓ 修复010

中国国内区号查询不需要国际冠码 +86。工具按国内标准处理,+86 前缀会破坏区号识别逻辑,导致查询失败或返回空。

3.用空格或连字符分隔区号

✗ 错误010 10
✓ 修复010

区号是固定数字串,中间不应插入空格、连字符或括号。工具按纯数字匹配,分隔符会导致识别为非法格式。

4.查询时混入城市名而非区号

✗ 错误北京
✓ 修复010

工具设计为区号互查,输入区号返回城市,输入城市返回区号。直接输城市名应走城市→区号方向,但若输入框仅接受数字,则城市名会触发格式校验失败。

5.把手机号前几位当区号查

✗ 错误138
✓ 修复010

手机号前三位是号段(如 138 属中国移动),不是地理区号。区号是固定电话的本地网标识,与手机号段无任何对应关系。

6.查非中国大陆城市时用了国内区号格式

✗ 错误852
✓ 修复(应查港澳台专用工具)

852 是香港国际区号,但本工具仅覆盖中国大陆城市区号(如 010、021)。港澳台及国际区号需使用对应工具,混用会导致无结果。

7.输入区号时带了末尾的 0

✗ 错误0100
✓ 修复010

部分用户误以为区号末尾需补 0 凑齐 4 位,但中国区号标准格式为 3 位(如 010)或 4 位(如 0755),多写 0 会变成不存在区号。

第三节

工作原理

How It Works

核心公式

区号 = 城市 → 区号映射表(城市名)

变量说明

  • 城市名中国城市名称,如北京、上海
  • 区号对应城市的电话区号,如010、021

示例

输入城市名“广州”,查询映射表得到区号020。若输入“深圳”,映射表返回0755。工具基于预置的全国城市-区号对照表进行精确匹配,无计算推导过程。

输入城市名本地数据库精确匹配输出区号互查输入区号反向查表输出城市名
用户输入 本地处理 输出结果 互查功能
第四节

开发者集成

For Developers

5 种主流语言实现,复制即用:

# 中国城市区号查询(本地字典,无需网络) AREA_CODES = { "北京": "010", "上海": "021", "广州": "020", "深圳": "0755", "杭州": "0571", "南京": "025", "成都": "028", "武汉": "027", "西安": "029", "重庆": "023", "天津": "022", "苏州": "0512" } # 正向:城市 -> 区号 def city_to_code(city): return AREA_CODES.get(city, "未找到该城市") # 反向:区号 -> 城市(支持带 0 或不带 0) def code_to_city(code): # 统一为 3-4 位数字,补前导零 code = code.lstrip("0") if code.startswith("0") else code for city, c in AREA_CODES.items(): if c.lstrip("0") == code: return city return "未找到该区号" # 示例 print(city_to_code("深圳")) # 0755 print(code_to_city("755")) # 深圳 print(code_to_city("0755")) # 深圳
// 中国城市区号查询(浏览器 / Node.js 通用) const areaCodes = { "北京": "010", "上海": "021", "广州": "020", "深圳": "0755", "杭州": "0571", "南京": "025", "成都": "028", "武汉": "027", "西安": "029", "重庆": "023", "天津": "022", "苏州": "0512" }; // 正向 function cityToCode(city) { return areaCodes[city] || "未找到该城市"; } // 反向(忽略前导 0) function codeToCity(code) { const normalized = code.replace(/^0+/, ''); for (const [city, c] of Object.entries(areaCodes)) { if (c.replace(/^0+/, '') === normalized) return city; } return "未找到该区号"; } // 示例 console.log(cityToCode("广州")); // 020 console.log(codeToCity("20")); // 广州 console.log(codeToCity("020")); // 广州
package main import ( "fmt" "strings" ) var areaCodes = map[string]string{ "北京": "010", "上海": "021", "广州": "020", "深圳": "0755", "杭州": "0571", "南京": "025", "成都": "028", "武汉": "027", "西安": "029", "重庆": "023", "天津": "022", "苏州": "0512", } func cityToCode(city string) string { if code, ok := areaCodes[city]; ok { return code } return "未找到该城市" } func codeToCity(code string) string { normalized := strings.TrimLeft(code, "0") for city, c := range areaCodes { if strings.TrimLeft(c, "0") == normalized { return city } } return "未找到该区号" } func main() { fmt.Println(cityToCode("成都")) // 028 fmt.Println(codeToCity("28")) // 成都 fmt.Println(codeToCity("028")) // 成都 }
#!/bin/bash # 中国城市区号查询(关联数组,bash 4+) declare -A AREA_CODES=( ["北京"]="010" ["上海"]="021" ["广州"]="020" ["深圳"]="0755" ["杭州"]="0571" ["南京"]="025" ["成都"]="028" ["武汉"]="027" ["西安"]="029" ["重庆"]="023" ["天津"]="022" ["苏州"]="0512" ) city_to_code() { local city=$1 echo ${AREA_CODES[$city]:-"未找到该城市"} } code_to_city() { local code=$1 # 去掉前导 0 local normalized="${code##+(0)}" for city in "${!AREA_CODES[@]}"; do local c="${AREA_CODES[$city]}" local c_norm="${c##+(0)}" if [[ "$c_norm" == "$normalized" ]]; then echo "$city" return fi done echo "未找到该区号" } # 示例 city_to_code "武汉" # 027 code_to_city "27" # 武汉 code_to_city "027" # 武汉
<?php // 中国城市区号查询 $areaCodes = [ "北京" => "010", "上海" => "021", "广州" => "020", "深圳" => "0755", "杭州" => "0571", "南京" => "025", "成都" => "028", "武汉" => "027", "西安" => "029", "重庆" => "023", "天津" => "022", "苏州" => "0512" ]; function cityToCode($city, $codes) { return $codes[$city] ?? "未找到该城市"; } function codeToCity($code, $codes) { $normalized = ltrim($code, "0"); foreach ($codes as $city => $c) { if (ltrim($c, "0") === $normalized) { return $city; } } return "未找到该区号"; } // 示例 echo cityToCode("杭州", $areaCodes) . "\n"; // 0571 echo codeToCity("571", $areaCodes) . "\n"; // 杭州 echo codeToCity("0571", $areaCodes) . "\n"; // 杭州 ?>
第五节

常见问题

Q & A
我查了上海的区号是021,为什么打长途的时候前面要加0?这个0到底算不算区号的一部分?

021 是中国固定电话区号的标准写法,其中开头的 0 是国内长途字冠,用于提示交换机这是一次长途呼叫。实际存储或国际书写时通常省略 0,写作 21。本工具列表直接写 021,符合国内日常使用习惯;如果从国外拨打上海,需拨国际字冠 + 86 + 21 + 号码,不加 0。

查出来的区号是四位数字,但我记得有些城市区号是三位,是不是搞错了?

中国固定电话区号有三位和四位两种。三位区号(如北京 010、上海 021、广州 020)只分配给直辖市和少数特大城市;其他地级市多为四位(如杭州 0571、深圳 0755)。本工具数据按国家主管部门分配标准整理,三位四位都是正确的,直接使用即可。

为什么查北京区号出来是010,但我打北京手机号前面不用加010?

区号只适用于固定电话(座机)。手机号有自己独立的号段(如 13x、15x、17x、19x 开头),全国统一拨打方式,不需要加区号。本工具查询的是城市固定电话区号,输入城市名得到的结果仅用于拨打该城市座机使用,手机直接拨 11 位号码即可。

我想查厦门的区号,输入“厦门”还是“xiamen”?支持拼音搜索吗?

本工具输入框同时支持中文城市名和全拼(小写无空格),例如输入“厦门”或“xiamen”均可得到结果。拼音匹配采用完整拼写,不支持首字母缩写(如“xm”无效)。如果遇到多音字(如“重庆”读 chongqing 而非 zhongqing),请使用完整拼音或直接输入中文。

查出来的区号后面跟着“0592”和“592”,我该用哪个?

本工具结果区会同时展示两种格式:带 0 的(如 0592)用于国内长途直拨,不带 0 的(如 592)用于国际来电显示或国际拨打。国内拨打厦门座机时用 0592 + 号码;从国外拨打时用 +86 592 + 号码(去掉第一个 0)。两个数字都是同一个区号的不同表示形式。

我输了一个县城名字,但查出来是它所属地级市的区号,是不是数据不全?

中国县级市、县、区通常不单独分配区号,而是共用上级地级市的区号。例如查询“昆山”得到的是苏州区号 0512,查询“昌平”得到的是北京区号 010。本工具数据覆盖全国所有地级行政区(含自治州、地区),县级及以下区域会归属到对应的地级市显示,可直接使用。

查出来的区号能直接点一下就复制吗?我每次都要手动选数字太麻烦了。

本工具结果区每个区号数字(包括带 0 和不带 0 两种格式)都支持一键复制,点击数字右侧的复制图标即可复制到剪贴板。如果使用的是手机浏览器,建议长按复制图标触发系统复制功能;部分旧款浏览器可能需要双击图标。复制后可直接粘贴到拨号盘或通讯录中。

这个区号查询工具的数据多久更新一次?会不会有城市合并或改名后数据没跟上?

本工具数据源与工信部公布的固定电话网码号资源分配表保持同步,通常在国务院批复行政区划变更后的 1-2 个月内完成更新。例如 2019 年莱芜并入济南、2020 年龙港撤镇设市等事件均已同步调整。如果发现某个新区号或城市名查不到,可通过页面反馈入口提交,后台会在下一个更新周期处理。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭