US Phone Number Regex

^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$

Validate US phone numbers in various formats including (123) 456-7890, 123-456-7890, and 123.456.7890.

Test This Pattern →

Pattern Breakdown

Understanding the regex pattern ^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$:

  • ^ - Start of string
  • $ - End of string
  • ? - Optional (zero or one)
  • [...] - Character class
  • (...) - Capturing group
  • {n,m} - Quantifier (n to m times)

Examples

Input Result Explanation
(555) 123-4567 ✓ Match Standard US format with parentheses
555-123-4567 ✓ Match Dash separated
555.123.4567 ✓ Match Dot separated
5551234567 ✓ Match No separators
1-800-555-1234 ✗ No Match Includes country code

Code Examples

JavaScript

JavaScript
const pattern = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;
const text = "(555) 123-4567";

// Test if string matches
if (pattern.test(text)) {
  console.log("Valid!");
}

// Extract matches
const matches = text.match(pattern);
console.log(matches);

Python

Python
import re

pattern = r'^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$'
text = "(555) 123-4567"

# Test if string matches
if re.match(pattern, text):
    print("Valid!")

# Find all matches
matches = re.findall(pattern, text)
print(matches)

PHP

PHP
<?php
$pattern = '/^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/';
$text = "(555) 123-4567";

// Test if string matches
if (preg_match($pattern, $text)) {
    echo "Valid!";
}

// Find all matches
preg_match_all($pattern, $text, $matches);
print_r($matches);
?>

Java

Java
import java.util.regex.*;

String pattern = "^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$";
String text = "(555) 123-4567";

Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(text);

if (m.matches()) {
    System.out.println("Valid!");
}

Use Cases

Common applications: Contact forms, CRM systems, US-focused applications

Frequently Asked Questions

What is the regex pattern for us phone number regex?
The regex pattern is: ^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$. Validate US phone numbers in various formats including (123) 456-7890, 123-456-7890, and 123.456.7890.
How do I use the us phone number regex pattern in JavaScript?
In JavaScript: const regex = new RegExp('^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$'); or const regex = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;
Does this pattern work in Python?
Yes, use: import re; pattern = re.compile(r'^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$') in Python. Most regex patterns are cross-language compatible.
What are common use cases for us phone number regex?
Contact forms, CRM systems, US-focused applications

Related Regex Patterns

More Regex Tools

GetDevUtils offers a suite of developer tools including: