我已經寫了一個函數用於向通訊庫添加電子郵件。在我添加檢查發送的電子郵件的有效性之前,它的工作完美無瑕。現在每次我收到「錯誤的電子郵件」。任何人都可以在這裏看到任何錯誤?所使用的正則表達式是:在django/python中檢查電子郵件的有效性
\b[\w\.-][email protected][\w\.-]+\.\w{2,4}\b
,它是100%有效的(http://gskinner.com/RegExr/),但我可以使用它錯了,或者它可以是一些邏輯錯誤:
def newsletter_add(request):
if request.method == "POST":
try:
e = NewsletterEmails.objects.get(email = request.POST['email'])
message = _(u"Email is already added.")
type = "error"
except NewsletterEmails.DoesNotExist:
if validateEmail(request.POST['email']):
try:
e = NewsletterEmails(email = request.POST['email'])
except DoesNotExist:
pass
message = _(u"Email added.")
type = "success"
e.save()
else:
message = _(u"Wrong email")
type = "error"
import re
def validateEmail(email):
if len(email) > 6:
if re.match('\b[\w\.-][email protected][\w\.-]+\.\w{2,4}\b', email) != None:
return 1
return 0
100%有效嗎?不符合'foo + bar @ example.com',不會匹配'foo @ museum.com',而且更多。 – Kos 2013-12-23 10:37:26
100%有效?你的正則表達式匹配'a .. @ .............. a'。 – Zenadix 2014-09-25 21:01:41