Regex para número de teléfono internacional (E.164)

Usa /^\+[1-9]\d{1,14}$/ para comprobar que una cadena completa es un número de teléfono internacional válido (E.164). 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

EntradaResultado
+14155550199✓ Coincide
+442071838750✓ Coincide
+919876543210✓ Coincide
14155550199✗ No coincide
+0123456789✗ No coincide
+1 415 555 0199✗ No coincide
+1234567890123456✗ No coincide

Cómo funciona el patrón

ParteSignificado
^\+Empieza con un signo más
[1-9]Los códigos de país nunca empiezan por 0
\d{1,14}Hasta 14 dígitos más — E.164 permite 15 dígitos en total
$Fin de la cadena, así que no hay espacios ni guiones

Ejemplos de código

JavaScript

const re = /^\+[1-9]\d{1,14}$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'\+[1-9]\d{1,14}', value))

PHP

preg_match('/^\+[1-9]\d{1,14}$/', $value) === 1;

Notas y limitaciones

E.164 es el formato que esperan Twilio, WhatsApp y la mayoría de APIs de SMS. Elimina espacios, guiones y paréntesis antes de probar, y añade el código de país si el usuario no lo ha incluido.

Preguntas frecuentes

¿Cuál es el regex para número de teléfono internacional (E.164)?
/^\+[1-9]\d{1,14}$/ — coincide con la cadena completa. Consulta la tabla de arriba para ver qué hace cada parte.
¿Qué ejemplos coinciden?
De los ejemplos probados, estos coinciden: +14155550199, +442071838750, +919876543210. Los demás no.
¿Cómo pruebo este 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.