这似乎是一个愚蠢的问题,但我怎样才能在Python中编写一个简单的电子邮件验证程序?我对这个软件很陌生,而且我错过了几个IT课程,所以我真的不知道该怎么做。
就我而言(是的,我知道它没有做任何有用的事情):
email = input ("Please type in an email address ")
splitemail = email.split('@')
emailstr = ''.join(splitemail)
splitemail2 = emailstr.split('.')
print (splitemail2)
电子邮件需要具有以下格式:[字母数字字符] @ [字母数字字符]。 [字母数字字符]
然后程序必须确定是否有效并输出' VALID'或者'无效'。
感谢阅读,任何帮助将不胜感激。
答案 0 :(得分:0)
我会使用一些正则表达式来验证和拆分给定的电子邮件地址。 然后代码看起来像这样
import re
email = input ("Please type in an email address ")
if re.match("\A(?P<name>[\w\-_]+)@(?P<domain>[\w\-_]+).(?P<toplevel>[\w]+)\Z",email,re.IGNORECASE):
print("Email is valid")
else:
print("Email is invalid")
答案 1 :(得分:0)
您可以使用string.isalum()
功能解决此问题。
示例:
def validate(mystring):
if mystring.isalnum():
print "VALID"
else:
print "INVALID"
这是一个进出的例子:
IN mystring = "alphanum1234"
OUT VALID
IN mystring = "alpha num 1234"
OUT INVALID
IN mystring = "alpha.num-1234"
OUT INVALID
答案 2 :(得分:-1)
了解他们应该帮助你的正则表达式:)用于验证电子邮件的有用正则表达式是:
[A-Za-z0-9-_]+(.[A-Za-z0-9-_]+)*@[A-Za-z0-9-]+(.[A-Za-z0-9]+)*(.[A-Za-z]{2,})
可以找到here
的解释以下是正则表达式的一些很好的教程:
http://fr.slideshare.net/absherzad/java-regular-expression-part-i
http://fr.slideshare.net/absherzad/java-regular-expression-part-ii
这里有一个关于使用正则表达式在python中验证电子邮件的SE question