22 lines
642 B
Python
22 lines
642 B
Python
def normalize_email(email):
|
|
"""
|
|
对邮箱地址进行归一化处理。
|
|
- 全部转为小写。
|
|
- 对 Gmail/Googlemail: 移除 '.' 和 '+' 后面的所有内容。
|
|
"""
|
|
if not email or '@' not in email:
|
|
return None
|
|
|
|
email = email.lower().strip()
|
|
local_part, domain_part = email.split('@', 1)
|
|
|
|
# 针对 Gmail 和 Googlemail 的特殊处理
|
|
if domain_part in ('gmail.com', 'googlemail.com'):
|
|
# 移除 '+' 及其后面的部分
|
|
local_part = local_part.split('+', 1)[0]
|
|
# 移除 '.'
|
|
local_part = local_part.replace('.', '')
|
|
|
|
return f"{local_part}@{domain_part}"
|
|
|