我编写了一个用于将电子邮件添加到时事通讯库的函数。在我添加检查发送电子邮件的有效性之前,它一直运行得很好。现在每次我都会收到“错误的电子邮件”回复。有人能看到这里有任何错误吗?使用的正则表达式是:
\b[\w\.-]+@[\w\.-]+\.\w{2,4}\b
并且它是 100% 有效的(http://gskinner.com/RegExr/ 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\.-]+@[\w\.-]+\.\w{2,4}\b', email) != None:
return 1
return 0
from django.core.exceptions import ValidationError
from django.core.validators import validate_email
value = "[email protected] /cdn-cgi/l/email-protection"
try:
validate_email(value)
except ValidationError as e:
print("bad email, details:", e)
else:
print("good email")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)