跳转到正文
OmniChannels.ai

免费工具

手机号格式转换、校验与名单清洗工具

将任意手机号转换为 E.164 格式,检查是否有效以及是否为手机号。在下一次短信或 WhatsApp 群发前,粘贴或上传最多 50,000 个号码,去除重复和无效的行。支持阿拉伯数字和波斯数字。

免费 · 无需注册 · 在浏览器中运行

任意格式:以 0 开头的本地号码、+、00、空格、连字符、阿拉伯-印度数字或波斯数字。
试试

正在加载号码编码方案…

您在此输入的任何内容都不会发送到我们的服务器。

简短回答

E.164 是 ITU-T E.164 建议书定义的国际电话号码格式:加号、国家代码和国内号码,没有空格、连字符或开头的 0,总长不超过 15 位。阿联酋手机号本地写作 050 123 4567,E.164 格式为 +971501234567,用于 API 和 wa.me 链接时则写作纯数字 971501234567。

如何格式化并清洗手机号

  1. 1

    选择默认国家

    像 050 123 4567 这样不带国家代码的号码,会按该国的编号方案解析。以 + 或 00 开头的号码则保留其自身所属国家。

  2. 2

    粘贴号码或名单

    以任意格式输入单个号码,或切换到「批量名单」,粘贴号码或上传 .csv 或 .txt 文件。系统会根据表头识别手机号所在列。

  3. 3

    查看有效性和号码类型

    每个号码都会转为 E.164,并对照该国已分配的号段进行校验。你可以看到无效号码失败的原因,以及哪些是固话。

  4. 4

    下载清洗后的 CSV

    选择 E.164 或纯数字格式,保留或删除无效行,然后下载已去重的 CSV,可直接导入营销活动或通过 API 发送。

什么是 E.164 格式

ITU-T E.164 建议书是国际编号方案,让全球每个电话号码都有唯一的表示形式。E.164 号码由国家代码(1 至 3 位)加国内有效号码组成,总长最多 15 位。面向机器书写时,它只带一个开头的加号,没有空格、括号、连字符,也没有你在本国拨号时用的国内长途前缀 0。

同一个阿联酋手机号,在 CRM 导出文件中可能写成 050 123 4567、+971 50 123 4567、00971501234567 或 971-50-1234567,其中只有 +971501234567 是 E.164。把所有号码都存成这种格式,号码才具有可比性,才能找出重复项,任何短信、WhatsApp 或语音 API 也都能接受。

  • 国家代码:+971 阿联酋,+966 沙特,+974 卡塔尔,+965 科威特,+973 巴林,+968 阿曼,+20 埃及,+44 英国,+1 美国和加拿大。
  • 去掉国内前缀:阿联酋的 050 在 +971 之后变为 50,英国的 07400 在 +44 之后变为 7400。
  • 将国际长途前缀(多数国家为 00,美国和加拿大为 011)替换为 +。
  • 最大长度为 15 位,不含加号。

GCC 与中东北非地区的手机号格式

海湾各国的编号方案看似相近,但长度以及是否使用国内前缀 0 各不相同。因此,混合了多个国家本地格式的名单,如果没有默认国家和完整的编号方案数据,就无法清洗。

  • 阿联酋(+971):手机号为 9 位,以 5 开头(50、52、54、55、56、58),本地拨号为 05X XXX XXXX。固话为 8 位,例如迪拜为 04,阿布扎比为 02。
  • 沙特(+966):手机号为 9 位,以 5 开头,本地写作 05X XXX XXXX。+966 50 123 4567 即 E.164 形式。
  • 卡塔尔(+974)、科威特(+965)、巴林(+973)和阿曼(+968):8 位号码,没有国内前缀 0,所以本地号码就是国内号码。手机号开头:卡塔尔为 3、5、6 或 7,科威特为 5、6 或 9,巴林为 3,阿曼为 7 或 9。
  • 埃及(+20):手机号为 10 位,以 10、11、12 或 15 开头,本地写作 01X XXXX XXXX。
  • 在阿拉伯语键盘上填写的表单中,常出现阿拉伯-印度数字(٠١٢٣٤٥٦٧٨٩)和波斯数字(۰۱۲۳۴۵۶۷۸۹)。它们与普通数字表示同样的号码,必须先转换为 ASCII 数字,API 才会接受。

为什么干净的名单对送达率和成本很重要

营销名单中的每个无效、重复或固话号码,都是浪费的费用或浪费的消息。许多短信线路按提交的消息计费,所以少一位数字的号码照样要付费。重复号码意味着同一位客户会收到两次你的优惠,这会推高退订和垃圾短信举报,而失败消息占比过高,也会损害你的 Sender ID 在运营商处的信誉。

对于 WhatsApp,格式错误的号码会直接失败:Cloud API 要求完整的国际号码,不带国家代码的本地号码 050… 要么被拒,要么被发往错误的国家。导入前先清洗名单,也能让送达报告更有意义,因为失败会指向号码已停用等真实问题,而不是输入错误。

  • 先标准化再去重,而不是反过来:0501234567 与 +971501234567 是同一个人。
  • 把固话从短信和 WhatsApp 发送中剔除,改走语音。
  • 将无效行单独标记保存在另一个文件,以便修正源系统。
  • 格式校验只能证明号码可能存在,不能证明它仍在使用。要确认这一点,请使用 HLR 查询或送达报告。

本工具的工作原理

本工具使用 libphonenumber-js 及 Google 完整的 libphonenumber 元数据,与 Android 和大多数消息平台使用的是同一套编号方案数据。它会对照号码所属国家已分配的号段进行校验,并在方案有定义时给出号码类型:手机、固话、免费、VoIP、增值或分摊费用。在美国和加拿大,手机与固话共用号段,因此类型显示为固话或手机。

解析之前,工具会先转换阿拉伯-印度数字、波斯数字和全角数字,去掉阿拉伯语文本常带的不可见方向标记,剥离 tel: 和 wa.me 前缀,并把 00 转为 +。已带国家代码但缺少加号的号码(如 971501234567)也能被识别。所有处理都在你的浏览器中完成:最多 50,000 行的名单在你的设备上分块处理,不会被上传。

E.164 还是纯数字:该用哪种格式

在 CRM 或数据库中存储号码、在 tel: 链接中,以及对大多数短信和语音 API,请使用带加号的 E.164(+971501234567)。在不允许加号的场合使用纯数字(971501234567):wa.me 点击聊天链接、WhatsApp Cloud API 的 wa_id,以及以纯数字作为目的号码的短信 API,例如 OmniChannels.ai 短信 API。

无论选哪种,都要在各系统间保持一致。格式混用是同一联系人重复出现、导入名单校验失败的最常见原因。

手机号格式常见问题

手机号的 E.164 格式是什么?

这是 ITU-T E.164 定义的国际格式:加号、国家代码和国内号码,没有空格、标点或开头的 0,最多 15 位。例如英国手机号 07400 123456 的 E.164 格式是 +447400123456。

如何把 050 123 4567 这样的阿联酋号码转为国际格式?

去掉开头的 0,加上阿联酋国家代码 +971:050 123 4567 变为 +971501234567。便于阅读时写作 +971 50 123 4567;用于不接受加号的 wa.me 链接或 API 时,写作 971501234567。

沙特手机号如何写成 E.164?

沙特手机号本地拨号为 05X XXX XXXX。去掉 0 并加上 +966,0501234567 就变成 +966501234567。国内号码为 9 位,以 5 开头。

通过短信或 WhatsApp API 发送时要带加号吗?

取决于 API。WhatsApp 的 wa.me 链接和 Cloud API wa_id 使用纯数字,没有加号和开头的 0。OmniChannels.ai 短信 API 同样要求带国家代码的纯数字。拿不准时,请存储 E.164,在发送时再去掉加号。

这个工具能判断号码是手机还是固话吗?

可以,只要该国编号方案对两者有区分,几乎所有国家都适用,包括全部 GCC 国家。在美国和加拿大,手机与固话共用号段,因此结果是固话或手机。校验结果不能说明号码当前是否仍在使用。

支持阿拉伯数字吗?

支持。阿拉伯-印度数字(٠-٩)和波斯数字(۰-۹)会自动转换为标准数字,从阿拉伯语文本复制而来的不可见从右到左标记,也会在校验前被去除。

一次可以清洗多少号码?我的名单会被上传吗?

每个名单最多 50,000 行,可粘贴,也可从不超过 15 MB 的 .csv 或 .txt 文件导入。文件完全在你的浏览器中读取和处理,不会发送到我们的服务器。你可以将清洗后的名单下载为 E.164 或纯数字格式的 CSV。

为什么 Excel 把我的手机号显示成 9.72E+11?

Excel 会把较长的数字串当作数值,改用科学计数法,还会丢掉开头的 0。请通过「数据 › 从文本/CSV」导入并把手机号列设为文本类型,或保留 E.164 的加号,并用能识别文本的工具打开文件。

更多免费工具