diff --git a/django/contrib/localflavor/us/forms.py b/django/contrib/localflavor/us/forms.py
--- a/django/contrib/localflavor/us/forms.py
+++ b/django/contrib/localflavor/us/forms.py
@@ -13,7 +13,7 @@
from django.utils.translation import ugettext_lazy as _
-phone_digits_re = re.compile(r'^(?:1-?)?(\d{3})[-\.]?(\d{3})[-\.]?(\d{4})$')
+phone_digits_re = re.compile(r'^(?:1-?)?(\d{3})[-/\.]?(\d{3})[-\.]?(\d{4})$')
ssn_re = re.compile(r"^(?P\d{3})[-\ ]?(?P\d{2})[-\ ]?(?P\d{4})$")
class USZipCodeField(RegexField):
@@ -34,7 +34,7 @@
super(USPhoneNumberField, self).clean(value)
if value in EMPTY_VALUES:
return u''
- value = re.sub('(\(|\)|\s+)', '', smart_unicode(value))
+ value = re.sub('(\(|\)|/|\s+)', '', smart_unicode(value))
m = phone_digits_re.search(value)
if m:
return u'%s-%s-%s' % (m.group(1), m.group(2), m.group(3))
diff --git a/tests/regressiontests/localflavor/us/tests.py b/tests/regressiontests/localflavor/us/tests.py
--- a/tests/regressiontests/localflavor/us/tests.py
+++ b/tests/regressiontests/localflavor/us/tests.py
@@ -253,6 +253,9 @@
'312.555.1212': '312-555-1212',
'312.555-1212': '312-555-1212',
' (312) 555.1212 ': '312-555-1212',
+ '312/555.1212 ': '312-555-1212',
+ '312/555 1212 ': '312-555-1212',
+ '312/555-1212 ': '312-555-1212',
}
invalid = {
'555-1212': error_format,