
Compartir:
Álvaro es un antiguo miembro del equipo de Vonage. Trabajó como promotor de desarrolladores en Vonage, centrándose en las API de red. Le apasionan la experiencia del desarrollador, las API y el código abierto. Fuera del trabajo, es habitual encontrarlo explorando tiendas de cómics, asistiendo a festivales de ciencia ficción y terror o construyendo cosas con esos famosos bloques de plástico diminutos.
¿Qué es el formato E.164?
Tiempo de lectura: 4 minutos
Este artículo se actualizó en junio de 2026
E.164 es una norma internacional que define un esquema de números de teléfono que garantiza que cada usuario de todo el mundo tenga un número de teléfono único y le permite conectarse entre sí para realizar llamadas y enviar mensajes. Como resultado, la norma simplifica las llamadas internacionales y reduce el riesgo de marcar un número equivocado.
Según la norma E.164, existen diferentes formas de especificar un número de teléfono: áreas geográficas, servicios globales, redes, etc. En este artículo se utilizará la representación estándar para las áreas geográficas, ya que este es el formato utilizado en las API de Vonage.
El formato E.164
Los números de teléfono E.164 contienen un máximo de 15 dígitos, sin contar el prefijo + y siguen el formato:
[prefijo del país] [prefijo nacional de destino] [número de abonado].
donde:
Código de país (CC) se corresponde con los prefijos internacionales (de 1 a 3 dígitos). Por convención, los números de teléfono internacionales se representan anteponiendo al prefijo del país el signo más (+).
Código de destino nacional (NDC) identifica una zona, región o red específica dentro del país.
Número de abonado (SN) es el número de teléfono individual asignado al usuario. La longitud del NDC y del SN debe ser 15 menos la longitud del CC.
Ejemplos
Estados Unidos
El número de teléfono 212 123 1234 puede representarse utilizando el formato E.164 como +12121231234, donde:
+1 es el código de país de Estados Unidos.
212 es el NDC.
1231234 es el número de abonado.
Reino Unido
El número de teléfono 020 1234 5678 se puede representar utilizando el formato E.164 como +442012345678, donde:
+44 es el prefijo del Reino Unido.
El código postal de Londres es 20.
12345678 es el número de abonado.
España
El número de teléfono 91 234 5678 puede representarse en E.164 como +34912345678, donde:
+34 es el prefijo de España.
El código NDC de Madrid es el 91.
2345678 es el número de abonado.
Alemania
El número de teléfono 030 12345678 puede representarse en E.164 como +493012345678, donde:
+49 es el prefijo de Alemania.
El código NDC de Berlín es 30.
12345678 es el número de abonado.
¿Por qué es importante la norma E.164?
Muchas de nuestras API utilizan números de teléfono que siguen la norma E.164. En concreto, las API de red esperan que los consumidores de API sigan este formato al llamar a algunos puntos finales.
Por ejemplo, la API de Identity Insights acepta el número de teléfono del abonado en formato E.164. Devuelve información como si la SIM se ha vinculado recientemente a ese número, así como el operador original y el actual.
¿Cómo podemos validar un número de teléfono E.164?
Como desarrolladores, es esencial asegurarse de que la entrada del usuario es correcta. Esto incluye sanear, validar y confirmar que el número de teléfono sigue el formato E.164 antes de realizar cualquier llamada a la API. Esto nos ahorrará tiempo y ancho de banda.
Una solución es utilizar una de las bibliotecas existentes para ayudar a validar los números de teléfono.
Es posible que desee comprobar el teléfono si estás programando en JavaScript. El siguiente ejemplo muestra la validación de un número de teléfono:
const {phone} = require('phone');
phone('+1(817) 569-8900', {country: 'USA'});
/*
{ isValid: true,
phoneNumber: '+18175698900',
countryIso2: 'US',
countryIso3: 'USA',
countryCode: '+1'
}
/*Si eres programador de Python, phonenumbers es tu biblioteca. Aquí tienes un ejemplo:
import phonenumbers
my_number = phonenumbers.parse("+34911234567", "ES")
print(phonenumbers.is_valid_number(my_number)) # TrueComo alternativa, puedes crear tu propio validador utilizando expresiones regulares. Dependiendo del lenguaje regex, algo parecido a:
^\+?[1-9]\d{1,14}$El siguiente código en Python utiliza esa expresión regular para validar algunos datos introducidos:
import re
def validate_e164(phone_number):
pattern = r'^\+?[1-9]\d{1,14}$'
return bool(re.match(pattern, phone_number))
# Test the function
test_numbers = [
"+14155552671", # Valid E.164 number (US)
"+442071838750", # Valid E.164 number (UK)
"+493012345678", # Valid E.164 number (Germany)
"+34916543210", # Valid E.164 number (Spain)
"1234567890", # Invalid (missing +)
"+1234567890123456" # Invalid (too long)
]
for number in test_numbers:
print(f"{number}: {validate_e164(number)}") Póngase en contacto con nosotros
En este artículo, hemos analizado el formato de los números de teléfono E.164, su estructura y varios métodos para validar los números de teléfono antes de enviar solicitudes a las API de Vonage. Como siguiente paso, puedes explorar la Number Insight API u otras API de red que utilizan números con formato E.164.
¿Tiene alguna pregunta o quiere compartir lo que está construyendo?
Suscríbase al Boletín para desarrolladores
Síguenos en X (antes Twitter) para estar al día
Ver tutoriales en nuestro canal de YouTube
Conéctese con nosotros en la página Vonage Developer en LinkedIn
Mantente conectado y entérate de las últimas noticias, consejos y eventos para desarrolladores.
Compartir:
Álvaro es un antiguo miembro del equipo de Vonage. Trabajó como promotor de desarrolladores en Vonage, centrándose en las API de red. Le apasionan la experiencia del desarrollador, las API y el código abierto. Fuera del trabajo, es habitual encontrarlo explorando tiendas de cómics, asistiendo a festivales de ciencia ficción y terror o construyendo cosas con esos famosos bloques de plástico diminutos.