批量提取邮箱地址工具

把整段文本粘贴进来,一次抓出其中全部邮箱地址,自动去重、按域名分组统计,并单独标出三类疑似无效的写法;处理全部在当前浏览器本地完成,输入内容不会上传。

归一化后相同的地址只保留第一条
域名转小写,本地部分保留原文
—

结果列表(超过 12 行时出现「加载更多」):

按域名分组:

疑似无效的地址(不计入命中):

使用方法

  1. 把要处理的文本整段粘贴进「待处理文本」框。框里已预置一段 280 字符的示例,里面把逗号、顿号、分号、全角冒号四种分隔符和中文说明混在一起,直接点「提取邮箱」就能看到结果。
  2. 「去重」默认勾选:按归一化后的形式比对,相同的地址只保留第一条,重复的那一条会单独列在结果行里。
  3. 「域名大小写」默认勾选:把 @ 后面的域名统一转成小写,@ 前面的本地部分按原文保留,方便回溯这条地址来自哪一行。
  4. 「输出分隔符」决定把结果拼成一整段时用什么隔开:换行、逗号、分号或空格。选逗号时相邻两项之间会加一个空格,得到 a@x.com, b@y.com 这样的形态(有些页面把它记作「提取邮箱Addresses」,指的都是同一件事)。
  5. 点「提取邮箱」立即给出命中数、去重后数量、重复项、顶层域名分布、按域名分组的对照表和结果列表;列表超过 12 行时列表底部会出现「加载更多」。
  6. 「复制结果」按当前分隔符复制整段文本;「导出 CSV」导出序号、邮箱、域名三列,文件开头带 UTF-8 BOM,用 Excel 双击打开不会乱码。

这个批量提取邮箱地址工具能解决什么问题

营销素材、客户回执、聊天记录导出、报名表格粘贴出来的内容,邮箱往往散落在不同行、被各种标点包夹:中文顿号、全角逗号、半角分号、中文冒号、括号、后面还跟着一长串说明文字。手工一个个框选既慢又容易漏,复制到表格里还会因为分隔符不统一而串列。本工具用一条正则把整段文本一次性扫完,输出干净的地址清单,再顺手做三件人工很难做对的事:一是按归一化口径去重,避免把同一个联系人当成两条线索;二是按域名分组并给出顶层域名分布,一眼看出有多少是同一家邮件服务商、有多少是自带域名的客户;三是把「看起来像邮箱但其实不合法」的写法挑出来单独列,避免把它们一起粘进群发列表里。

它适用于整理客户名单、清理导出的通讯录、核对表单提交结果、从较长文档里抽取联系人,以及在导入 CRM 或群发平台之前先做一遍去重与合法性筛查。

计算原理与变量说明

识别的核心是一条带全局标记的正则,它由三段组成:本地部分 [A-Za-z0-9._%+\-]+、一个 @、域名部分 [A-Za-z0-9](?:[A-Za-z0-9\-]*[A-Za-z0-9])?(?:\.[A-Za-z0-9](?:[A-Za-z0-9\-]*[A-Za-z0-9])?)*\.[A-Za-z][A-Za-z]+,末尾加 g 让它在整段文本里反复匹配。

完整示例(数值仅作演示)

示例条件:使用页面预置的那段文本(含 5 行、逗号/顿号/分号/全角冒号混排),去重与域名转小写都保持默认勾选,输出分隔符为换行。

把 10 个命中减掉 9 个去重结果,正好得到 1 个重复项,这也是检查去重是否生效的最快办法。示例中的文本、域名与数字均为演示数据,不指向任何真实联系人。

输出分隔符与输出形态对照表

下表固定使用上面的去重结果 9 条,只改变「输出分隔符」,用于挑选最适合下游系统的形态。

分隔符相邻两项之间适用场合示例开头
换行一个换行符再粘贴进 Excel 单列、逐行导入chen.wei@example.com
逗号逗号 + 一个空格写入邮件客户端的收件人栏、CSV 文本chen.wei@example.com, li_na@qq.com
分号分号 + 一个空格Outlook 收件人栏的默认分隔符chen.wei@example.com; li_na@qq.com
空格一个空格命令行参数、部分群发工具的多值输入chen.wei@example.com li_na@qq.com

同一批 9 条结果,四种分隔符只是连接方式不同,条数与顺序都不变;顺序始终是首次出现的先后,重复项被折叠到第一次出现的位置。

结果边界、舍入与适用说明

常见问题

为什么 SUN.MING@outlook.com 被显示成了小写?

因为去重按「整体转小写」归一化后比较,去重结果统一以小写形态输出,方便比对与入库。如果你需要保留原文大小写核对来源,把「去重」取消勾选,列表就会回到本地部分保留大小写、域名按设置转小写的形态。

为什么 admin@localhost 不算邮箱?

正则在域名段之后强制要求「一个点 + 顶级域名不少于两位字母」。localhost 只是一个主机名,没有点也没有顶级域名,写起来像邮箱但无法投递到外部。同理 a@b 也不算。

name@@example.com 是被怎么判掉的?

本页先把文本按标点与空白切成候选片段,再对每个含 @ 的片段做完整匹配。这个片段里有连续两个 @,属于「出现两个 @」,会进入疑似无效清单并给出具体原因,而不是被悄悄忽略。

大小写到底要不要统一?

域名部分一定要统一,RFC 要求域名不区分大小写,不统一会让同一域名被拆成两组。本地部分理论上区分大小写,但 Gmail、Outlook、QQ 邮箱等主流服务商实际都不区分,所以做去重时应按不区分处理,才不至于重复触达同一收件人。

为什么中文顿号和全角逗号也能当分隔符?

因为它们经常出现在中文文本里的地址两侧,例如「chen.wei@example.com、li_na@qq.com,销售咨询」。本页在切分候选片段时把全角顿号、全角逗号、全角分号、全角冒号与半角标点同等对待,地址两侧就不会被粘上多余的标点。

逐行处理不是更保险吗?

恰恰相反。一行末尾被硬换行截断的地址会被拆成两半,两侧都不成立从而整条丢失;跨行紧邻的两条地址还可能被误连成一条。带全局标记的正则在整段文本上扫描并自动回退重试,跨行与跨分隔符都能正确处理。

这个工具免费吗?

免费,无需注册即可使用。

输入的数据安全吗?

安全。计算在当前浏览器本地完成,不会上传输入内容。

相关工具