我已经写了一个将邮箱添加到时事通讯基础的函数.直到我添加了判断已发送邮箱的有效性,它才能完美地工作.现在每次我都会收到"错误的邮箱"作为回报.有人能看到这里有什么错误吗?使用的正则表达式为:
\b[\w\.-]+@[\w\.-]+\.\w{2,4}\b
并且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