Back to Home

US Phone Number Validation Regex (10 Digits Only)

CronOS Team
regexphonevalidationtutorialus-phone

Need to generate a regex pattern?

Use CronOS to generate any regex pattern you wish with natural language. Simply describe what you need, and we'll create the perfect regex pattern for you. It's completely free!

Generate Regex Pattern

US Phone Number Validation Regex (10 Digits Only)

A strict regex pattern for validating US phone numbers with exactly 10 digits and no formatting characters.

Pattern Breakdown

regex
^\d{10}$

Components

ComponentDescriptionMatches
^Start anchorEnsures match from string start
\d{10}Exactly 10 digitsTen consecutive digits
$End anchorEnsures match to string end

Character Classes

  • \d - Any digit (0-9)
  • {10} - Quantifier: exactly 10 occurrences

Examples

Valid:

  • 5551234567
  • 8005551234
  • 2125551234
  • 0000000000 (format valid, though not a real number)

Invalid:

  • 555-123-4567 (contains dashes)
  • (555) 123-4567 (contains parentheses and spaces)
  • 555123456 (only 9 digits)
  • 55512345678 (11 digits)
  • 555 123 4567 (contains spaces)
  • 555.123.4567 (contains dots)

Implementation

JavaScript

javascript
const phoneRegex = /^\d{10}$/;
phoneRegex.test('5551234567'); // true
phoneRegex.test('8005551234'); // true
phoneRegex.test('555-123-4567'); // false (contains formatting)
phoneRegex.test('555123456'); // false (only 9 digits)

Python

python
import re
phone_regex = r'^\d{10}$'
bool(re.match(phone_regex, '5551234567'))  # True
bool(re.match(phone_regex, '8005551234'))  # True
bool(re.match(phone_regex, '555-123-4567'))  # False (contains formatting)

Go

go
phoneRegex := regexp.MustCompile(`^\d{10}$`)
phoneRegex.MatchString("5551234567") // true
phoneRegex.MatchString("8005551234") // true
phoneRegex.MatchString("555-123-4567") // false (contains formatting)

Limitations

  1. No formatting allowed: Requires pre-processing to remove formatting
  2. No country code: Doesn't support +1 prefix
  3. No area code validation: Accepts invalid area codes like 000 or 111
  4. No extension support: Doesn't handle extensions
  5. Strict format: Users must strip formatting before input

When to Use

  • When you normalize phone numbers before validation
  • Database storage format validation
  • After removing formatting characters
  • When you want strict, no-formatting validation
  • API input validation after sanitization

For production, consider:

  • Pre-processing: remove all non-digit characters before validation
  • Adding area code validation
  • Storing normalized format in database
  • Displaying formatted version to users

Need to generate a regex pattern?

Use CronOS to generate any regex pattern you wish with natural language. Simply describe what you need, and we'll create the perfect regex pattern for you. It's completely free!

Generate Regex Pattern