summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2006-05-31 18:08:28 +0000
committerAdrian Holovaty <adrian@holovaty.com>2006-05-31 18:08:28 +0000
commit1bf991abb32c3fab1a1d81d3087d7f6e16a54559 (patch)
treeefe979aefa633ede6f17a408412226ec00d534c0
parent2543d0ae9373eeea9eebce3d48df930b3220a506 (diff)
Fixed #2049 -- Made isValidEmail validator wider in scope. Thanks, mir@noris.de
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3026 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/core/validators.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/django/core/validators.py b/django/core/validators.py
index 91d72033de..69c8e0f701 100644
--- a/django/core/validators.py
+++ b/django/core/validators.py
@@ -20,7 +20,10 @@ alnumurl_re = re.compile(r'^[-\w/]+$')
ansi_date_re = re.compile('^%s$' % _datere)
ansi_time_re = re.compile('^%s$' % _timere)
ansi_datetime_re = re.compile('^%s %s$' % (_datere, _timere))
-email_re = re.compile(r'^[A-Z0-9._%-][+A-Z0-9._%-]*@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}$', re.IGNORECASE)
+email_re = re.compile(
+ r"(^[-!#$%&'*+/=?^_`{}|~0-9A-Z]+(\.[-!#$%&'*+/=?^_`{}|~0-9A-Z]+)*" # dot-atom
+ r'|^"([\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-011\013\014\016-\177])*"' # quoted-string
+ r')@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}$', re.IGNORECASE) # domain
integer_re = re.compile(r'^-?\d+$')
ip4_re = re.compile(r'^(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}$')
phone_re = re.compile(r'^[A-PR-Y0-9]{3}-[A-PR-Y0-9]{3}-[A-PR-Y0-9]{4}$', re.IGNORECASE)