在python中验证电子邮件格式
我正在尝试编写一个程序,检查电子邮件是否为有效形式。有效形式是字母或数字字符的任意组合,后跟在python中验证电子邮件格式,python,email,loops,for-loop,Python,Email,Loops,For Loop,我正在尝试编写一个程序,检查电子邮件是否为有效形式。有效形式是字母或数字字符的任意组合,后跟@符号,然后是字母字符的任意组合。我甚至不想拥有像“gmail.com”这样的域名,它可以是new@gmail例如我试过很多东西,但似乎都不明白 email = "XXX@XXX" x = len(email) for i in range(x): if email[i][0] == "@": return False elif email[
@
符号,然后是字母字符的任意组合。我甚至不想拥有像“gmail.com”这样的域名,它可以是new@gmail例如我试过很多东西,但似乎都不明白
email = "XXX@XXX"
x = len(email)
for i in range(x):
if email[i][0] == "@":
return False
elif email[i][-1] == "@":
return False
elif not email[i].isalnum():
return False
return True
我想这就是你要问的你可以使用这个软件包:
我会用正则表达式。比如:
r.compile('\w*@\w*.com')
这是我在生产系统中使用的代码
如果他的验证只是在电子邮件中,那就太过分了+1所有这些都将排除有效的电子邮件。。。电子邮件的正则表达式糟透了。。。(虽然我没有投反对票)看起来他想确保两边至少有一个字符不是“@”。可能会添加
和电子邮件。startswith('@')/endswith('@')
?此验证过于宽松。因此:@
有效…?在电子邮件[:-1]
中如何在电子邮件[:-1]中在上下文中使用return'@?是否允许
、-
或+
?唯一的说明是使用“@”字符在本地部分和域部分之间。所以是的,我允许这些。
return '@' in email[:-1]
from validate_email import validate_email
is_valid = validate_email('example@example.com')
import re
email_format: str = r"(^[a-zA-Z0-9'_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)"
email: str = "test@gmail.com"
if re.match(email_format, email, re.IGNORECASE):
print("valid email!")
else:
print("invalid email!")