Index: django/core/validators.py
===================================================================
--- django/core/validators.py	(revision 5099)
+++ django/core/validators.py	(working copy)
@@ -21,10 +21,15 @@
 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"(^[-!#$%&'*+/=?^_`{}|~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,6}$', re.IGNORECASE)  # domain
+
+DOT_ATOM = r"[-!#$%&'*+/=?^_`{}|~0-9A-Z]+(?:\.[-!#$%&'*+/=?^_`{}|~0-9A-Z]+)*"
+QUOTED_STRING = r'"(?:[\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-011\013\014\016-\177])*"'
+DOMAIN = r'(?:[A-Z0-9-]+\.)+[A-Z]{2,6}'
+ADDR_SPEC = "((?:" + DOT_ATOM + ")|(?:" + QUOTED_STRING + "))@(" + DOMAIN + ")"
+DISPLAY_NAME = r'(?:\w[\w ]*)'
+
+email_re = re.compile("^(?:" + ADDR_SPEC + ")|" + DISPLAY_NAME + "<" + ADDR_SPEC + ">$", re.IGNORECASE)
+
 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)
