Email 规范化

📧 Email Normalization

Normalize and validate email addresses in your browser — trim, lowercase and apply provider rules.

📐 工作原理与说明
先去掉首尾空白并转小写,与原串不同时记为已转小写;取最后一个 @ 的位置拆分本地名与域名,位置不大于 0 时判定缺少 @ 符号、不是有效邮箱。本地名须由字母数字及 . ! # $ % & ' * + / = ? ^ _ ` { | } ~ - 这些字符组成,域名须由字母数字、点与连字符组成并以「点加至少两位字母」结尾,任一不合规则判为无效邮箱。开启 Gmail 规则且域名以 gmail.com 或 googlemail.com 结尾时,去掉本地名中的所有点号并取加号之前的部分,有变化则记为已去除点号与加号标签。最终以「本地名 + @ + 域名」输出,并列出所有规范化动作
把邮箱地址整理为规范形式,便于去重与比对。
  • 结构:local@domain;domain 不区分大小写,local 在标准上区分但实际多按不敏感处理。
  • 处理:去除首尾空白、domain 统一小写、剥离显示名(如 Name <a@b.com>)。
  • Gmail 特性:local 中的 . 被忽略,+tag 为标签,可用于识别同一邮箱。
  • 注意:上述规则因服务商而异,规范化前须确认目标域的实际策略。
规范化前
—
规范化后
—

💡 Gmail 中 john.doe@gmail.com、johndoe@gmail.com、john.doe+tag@gmail.com 是同一邮箱。

📚 深度解析:Email 规范化

💡 常见使用场景

归一
`John.Doe+news@gmail.com` → `johndoe@gmail.com`(Gmail 忽略点与 + 标签)。

❓ 常见问题(FAQ)

所有邮箱都忽略点吗?
仅 Gmail/Outlook 等,不可对所有服务商假设。
为什么不能随便去掉点号?
只有 Gmail 明确忽略用户名中的点(john.smith 与 johnsmith 同一邮箱),其他服务商大多把点视为有效字符,去掉反而会生成错误地址。去 +tag 同理——多数服务支持,但并非全部。清洗时应按域名白名单处理,不要一刀切。

Formula & Standard References

Item Formula / Note Source / Standard
Local part technically case-sensitive but usually treated as insensitive RFC 5321
Domain part domains are case-insensitive; IDNs convert to punycode RFC 5321 / RFC 3492
Normalization limits dot stripping is provider-specific, not universal RFC 5321