From 24f666656f482d567827f148a024b3c59fb5e4f0 Mon Sep 17 00:00:00 2001 From: Adrian Holovaty Date: Sun, 6 Nov 2005 17:55:39 +0000 Subject: [PATCH] Fixed #737 -- Changed validators.isValidIPAddress4 to use a single regex. Thanks, mattimustang git-svn-id: http://code.djangoproject.com/svn/django/trunk@1093 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/core/validators.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/django/core/validators.py b/django/core/validators.py index e930d75976..5260fe6b8b 100644 --- a/django/core/validators.py +++ b/django/core/validators.py @@ -19,7 +19,7 @@ ansi_time_re = re.compile('^%s$' % _timere) ansi_datetime_re = re.compile('^%s %s$' % (_datere, _timere)) email_re = re.compile(r'^[-\w.+]+@\w[\w.-]+$') integer_re = re.compile(r'^-?\d+$') -ip4_re = re.compile(r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$') +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) slug_re = re.compile(r'^[-\w]+$') url_re = re.compile(r'^http://\S+$') @@ -93,11 +93,8 @@ def isCommaSeparatedEmailList(field_data, all_data): raise ValidationError, _("Enter valid e-mail addresses separated by commas.") def isValidIPAddress4(field_data, all_data): - if ip4_re.search(field_data): - valid_parts = [el for el in field_data.split('.') if 0 <= int(el) <= 255] - if len(valid_parts) == 4: - return - raise ValidationError, _("Please enter a valid IP address.") + if not ip4_re.search(field_data): + raise ValidationError, _("Please enter a valid IP address.") def isNotEmpty(field_data, all_data): if field_data.strip() == '':