跳到主要内容

手机号批量转换实战:号码格式转换成 E.164 与 CRM 导入

把一整列散乱手机号批量转成 E.164 国际格式,统一加减国家码和分隔符,导出 CRM 与短信平台要的 CSV 或 JSON,全程浏览器本地处理不外发联系人。

发布于 作者 李雷
#手机号批量转换 #号码格式转换 #E.164 #CRM 导入 #短信平台

手机号批量转换:把一列乱号统一成可导入的格式

做运营和增长的人都遇到过这种表:一列手机号,有人填 138 0013 8000,有人填 13800138000,有人前面加了 +86,有人加了 0086,还夹着括号和短横线。看着是同一批客户,导进 CRM 或短信平台时却一半报错。问题不在号码,在格式不统一。

电话号码列表转换器就是专门收拾这种烂摊子的。把号码粘进去,它在浏览器本地解析、去重、规范化,再导出成下一个系统认的格式,联系人不出你这台电脑。

为什么导入老是失败

短信平台和 CRM 对号码格式有硬要求,常见两类:一类要 E.164 国际格式,也就是加号开头、国家码紧跟、中间没有任何符号,比如 +8613800138000;另一类要纯数字串,连加号都不要,写成 8613800138000。

你那张表里只要混进一个 138-0013-800 这种少一位的号码,整批短信可能直接退回,或者平台报一行错就停下,让你回去逐行查。手工对一千行号码,眼睛先废了。

统一成 +86 开头的 E.164 格式

这是最常用的目标格式:所有大陆手机号统一成 +86 开头、后面 11 位、中间不留任何分隔符。这样无论是阿里云短信、Twilio 还是企业微信外部联系人导入,都能直接吃。

具体做法是把杂乱输入丢进转换器,让它先抽出号码、去掉空格括号短横线,再按规则补上或换成 +86 国家码,最后选 CSV 或 JSON 输出。去重打开,重复客户只留一条;无效项不混进结果,单独列出来带原因,方便你回头补全。

一个真实的输入输出例子

我自己整理一份活动报名名单时,原始数据是从三个渠道导出拼起来的,长这样:

13800138000
138 0013 8000
+86 138-0013-8000
0086 13900139000
139-0013-800

把这五行粘进去,选去重、规范化成 E.164、导出逐行格式,结果是:

+8613800138000
+8613900139000

前三行其实是同一个号码的不同写法,合并成一条;第四行带 0086 前缀的正确换成 +86;最后一行 139-0013-800 少一位,被拦在无效列表里带上"位数不足"的原因,不会污染这两行干净输出。这两行直接贴进短信平台,不用再动手。

给开发和数据同学的格式

如果号码是要进数据库或脚本,逐行和 CSV 之外还能直接导成 JSON 数组、SQL IN 列表或 TypeScript union。比如要写一句 WHERE phone IN (...),选 SQL IN 输出,引号和逗号都帮你加好,省掉手工拼接漏一个逗号导致语句报错的尴尬。需要带审计线索时,导出带行号的 CSV 或 Markdown,回头能查到每个号码来自原文哪一行。

隐私这件事不能含糊

手机号是客户个人信息,很多公司对"把联系人传到第三方网站重排格式"这件事是明令禁止的。这个工具所有解析、校验、去重、复制、下载都在你浏览器当前标签页完成,上传的文本文件通过本地 File API 读取,不发到任何服务器。换句话说,你处理的是一份永远没离开过这台电脑的名单,合规上少很多麻烦。

配套工具

如果你的需求更单一,也有更专一的工具搭配着用。只想从一段文本里抽号码,用 电话号码提取器;只想检查一批号码哪些位数不对、哪些是无效号段,用 电话号码列表校验器。先校验挑出问题行、再回到 电话号码列表转换器 统一格式导出,是我整理大名单时最顺手的两步走。

号码格式这种活,头疼就头疼在量大又琐碎,一个符号不对就卡住整批。把它交给本地批量转换,把人留给真正要判断的事。


Made by Toolora · Updated 2026-06-13