Back to all patterns
US Phone Number Validation
Validation
Validates US phone numbers in common formats including (555) 555-5555, 555-555-5555, and +1 555 555 5555.
/^(\+1)?[-.\s]?\(?[2-9]\d{2}\)?[-.\s]?\d{3}[-.\s]?\d{4}$/How it works
This pattern accepts the optional +1 country code, optional area code parentheses, and common separators (dash, dot, space). The area code must start with 2–9 (NPA rules), and the exchange code also starts with 2–9.
Test Cases
Should Match
- (415) 555-2671
- 415-555-2671
- +1 415 555 2671
Should NOT Match
- (100) 555-1234
- 555-1234
- 12345
Quick Summary
Validates US phone numbers in multiple common formats. Accepts optional +1 prefix, parentheses around area code, and dash/dot/space separators. Enforces NANP rules (area code starts with 2–9).
Key Takeaways
Key Takeaways
- Accepts (NXX) NXX-XXXX, NXX-NXX-XXXX, NXX.NXX.XXXX, and +1 variants
- Area code must start with 2–9 per NANP rules, rejects 0xx and 1xx area codes
- Does not validate whether the specific number is assigned or active
- For strict validation, normalize to E.164 first and use libphonenumber
Use Cases
When to use it
- US-only contact forms and checkout flows
- Validating phone numbers in CRM imports
- Quick sanity check before storing a US phone number
Watch out
Common Mistakes
- Using this for international numbers, it only covers NANP (US, Canada, Caribbean)
- Forgetting to strip formatting before storing, always normalize to E.164 for storage
FAQ
US Phone Number Validation, Frequently Asked
Does this match Canadian numbers?
Yes. Canada uses the same NANP format as the US, so this pattern matches Canadian numbers too.
How do I normalize a matched number to E.164?
Strip all non-digit characters, ensure 10 digits remain, then prepend +1.