Regex para número de teléfono de EE. UU.

Usa /^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/ para comprobar que una cadena completa es un número de teléfono de EE. UU. válido. Cada ejemplo de abajo se ha probado con el patrón, y puedes abrirlo en el Probador de Regex con las muestras ya cargadas.

Actualizado el

/^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/
Abrir en el Probador de Regex
EntradaResultadoGrupos
(212) 555-0123✓ Coincide212 555 0123
212-555-0123✓ Coincide212 555 0123
+1 415.555.0199✓ Coincide415 555 0199
4155550199✓ Coincide415 555 0199
123-456-7890✗ No coincide
555-1234✗ No coincide
(212) 555-01234✗ No coincide
+44 20 7183 8750✗ No coincide

Cómo funciona el patrón

ParteSignificado
(?:\+1[-. ]?)?Código de país +1 opcional, seguido de un separador opcional
\(?([2-9]\d{2})\)?Código de área (grupo 1), opcionalmente entre paréntesis; no puede empezar por 0 ni por 1
[-. ]?Guion, punto o espacio opcional
(\d{3})Prefijo central (grupo 2)
(\d{4})Número de línea (grupo 3)

Ejemplos de código

JavaScript

const re = /^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})', value))

PHP

preg_match('/^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/', $value) === 1;

Notas y limitaciones

Los tres grupos te permiten normalizar cualquier formato aceptado, por ejemplo a ($1) $2-$3. Para números internacionales, guárdalos en formato E.164 y usa una biblioteca como libphonenumber para una validación real.

Preguntas frecuentes

¿Cuál es la regex para número de teléfono de EE. UU.?
/^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/ — coincide con la cadena completa. Consulta la tabla de arriba para ver qué hace cada parte.
¿Qué ejemplos coinciden?
De los ejemplos probados, coinciden estos: (212) 555-0123, 212-555-0123, +1 415.555.0199, 4155550199. Los demás no.
¿Cómo pruebo esta regex?
Haz clic en “Abrir en el Probador de Regex”: el patrón, los flags y el texto de muestra se cargan automáticamente, y las coincidencias se resaltan mientras editas.