ZH
我的工具

邮箱正则测试器

复制经过测试的邮箱正则(简单、实用、HTML5 或严格),逐行校验地址列表,并获取 JavaScript、Python、PHP 或 Java 的代码。

正则表达式
^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$
实用
有效
3
无效
3
代码片段
JavaScript

每一行在测试前都会去掉首尾空白,空行会被跳过。

测试使用 JavaScript 正则表达式运行;代码片段把该规则转换为 JavaScript 版本。

逐行结果
行输入结果失败原因
1john.doe@example.com有效
2jane_smith+news@mail.co.uk有效
3user@localhost无效域名中没有点(如 .com)
4not-an-email无效没有 @ 符号
5a..b@example.com有效
6name@domain.c无效最后一个点之后的部分必须是 2 个以上的字母
我的工具 →
广告

邮箱正则会在你接受注册或发送消息之前,判断哪些字符串看起来像是邮箱地址。这个工具提供四种严格程度递增的现成规则和一个提取器,会用你选的规则测试你粘贴的每一行,说明每个失败的行为什么失败,并写出对应的 JavaScript、Python、PHP 或 Java 代码。

使用方法

  1. 选择一种规则——实用适合大多数表单;严格增加了 RFC 5321 的长度和点号规则。
  2. 每行粘贴一个地址,或选择“从任意文本中查找邮箱”,然后粘贴网页、日志或 CSV。
  3. 查看“有效”和“无效”的数量,以及每个失败行给出的原因。
  4. 选择语言并复制代码片段。

计算公式

实用:^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$

@ 之前:字母、数字以及 . _ % + -。之后:包含一个点、并以至少两个字母结尾的域名。HTML5 规则就是浏览器对 <input type="email"> 所应用的规则;它在 @ 之前允许更多符号,并且不要求域名中有点。严格规则用两个先行断言,把 @ 之前的部分限制在 64 个字符以内、整个地址限制在 254 个字符以内,并禁止以点开头或结尾以及连续的点。严格规则只是有限的 dot-atom 规则,不是完整的 RFC 校验器。不同语言的空白字符类不同,请在目标运行环境中测试非 ASCII 空白。表格最多显示 400 行或 400 个匹配。

示例

默认列表有六行。使用实用规则时,三行通过:john.doe@example.com、jane_smith+news@mail.co.uk 和 a..b@example.com。user@localhost 失败(域名中没有点),not-an-email 没有 @,name@domain.c 以单个字母的顶级域结尾。切换到 HTML5 后有五行通过,因为浏览器规则接受只有一级的域名、单个字母的结尾以及本地部分的连续点。严格规则只让两行通过,因为它还会拒绝 a..b@example.com 中连续的点。

常见问题

有完美的邮箱正则吗?

没有。完整的邮箱语法包含带引号的本地部分和地址字面量,这些规则有意省略了它们。任何正则都无法判断邮箱是否真实存在,请用验证链接来确认所有权。

为什么 HTML5 规则接受 user@localhost?

HTML 标准允许只有一级的主机名。实用和严格规则要求带点的域名,但匹配成功仍然不能证明该域名或邮箱真实存在。

支持国际化的邮箱地址吗?

这些 ASCII 规则不支持 Unicode 本地部分。简单规则更宽松。HTML5 接受 ASCII punycode 域名标签;严格规则还允许 xn-- 开头的顶级标签。实用规则要求结尾只有字母,所以会拒绝 punycode 顶级域名。

比较邮箱地址时应该不区分大小写吗?

域名不区分大小写。RFC 5321 要求保留 @ 之前本地部分的大小写,因为接收系统可能认为它有意义。除非有特定服务商的规则,否则请保留提交时的本地部分。

资料来源

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). 邮箱正则测试器. https://kakao.mobile/zh/tools/email-regex-tool/

MLA

“邮箱正则测试器.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/email-regex-tool/.

广告