Skip to main content
AllDevToolsHub
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.