🛠️

Whiz Tools

Build • Create • Innovate

Генератор та валідатор номерів телефонів для кількох країн

Генеруйте випадкові номери телефонів у міжнародному або місцевому форматі з вибором коду країни та регіону. Створюйте мобільні або стаціонарні номери з правильним форматуванням для тестування та розробки.

Генератор та валідатор номерів телефонів

📚

Документація

Generador y Validador de Números de Teléfono

Introducción

El Generador y Validador de Números de Teléfono es una herramienta sencilla y fácil de usar diseñada para crear números de teléfono aleatorios en varios formatos y validar su estructura. Ya sea que necesite números de teléfono de muestra para probar aplicaciones, poblar bases de datos o fines educativos, esta herramienta proporciona una solución simple sin complejidades innecesarias. Soporta tanto formatos internacionales como locales, números móviles y fijos, e incluye reglas de formato específicas de cada país para una generación de números precisa.

La generación y validación de números de teléfono son tareas esenciales en el desarrollo de software, telecomunicaciones y gestión de datos. Esta herramienta simplifica estos procesos al proporcionar una interfaz intuitiva que le permite especificar parámetros como el código de país, la región y el tipo de número, luego genera números de teléfono válidos de acuerdo con los estándares internacionales y los formatos específicos de cada país.

Cómo Funciona

El Generador y Validador de Números de Teléfono funciona aplicando reglas de formato específicas de cada país para crear números de teléfono aleatorios pero estructuralmente válidos. La herramienta sigue estos pasos:

  1. Selección de Parámetros: Usted selecciona el país, la región y si desea un número móvil o fijo.

  2. Determinación de Formato: Basado en sus selecciones, la herramienta identifica los patrones de formato apropiados, incluyendo:

    • Código de país (por ejemplo, +52 para México)
    • Códigos de área/región
    • Requisitos de longitud del número
    • Prefijos móviles o fijos
  3. Generación de Números Aleatorios: La herramienta genera dígitos aleatorios de acuerdo con el patrón determinado.

  4. Aplicación de Formato: El número generado se formatea de acuerdo con los estándares internacionales o las convenciones locales según su preferencia.

  5. Verificación de Validación: La herramienta valida el número generado para asegurar que sigue la estructura correcta para el país y tipo seleccionados.

El proceso de validación verifica el número contra patrones conocidos para el país seleccionado, verificando aspectos como:

  • Longitud correcta
  • Código de país válido
  • Código de área/región apropiado
  • Prefijo adecuado para móvil o fijo

Fórmula y Algoritmos

Si bien la generación de números de teléfono puede parecer un proceso aleatorio simple, implementarlo correctamente requiere entender las restricciones matemáticas y los patrones que hacen que los números de teléfono sean válidos en diferentes regiones.

Algoritmo de Generación de Números Aleatorios

El algoritmo básico para generar un número de teléfono válido sigue esta fórmula:

N=C+A+P+SN = C + A + P + S

Donde:

  • NN es el número de teléfono completo
  • CC es el código de país (opcional para formato local)
  • AA es el código de área/región
  • PP es el prefijo (que puede tener restricciones según el tipo de número)
  • SS es el número de suscriptor (dígitos aleatorios)

Algoritmo de Validación

La validación de números de teléfono se puede expresar como una operación de coincidencia de patrones de expresión regular, que se puede representar matemáticamente como:

undefined
1// Ejemplo en JavaScript de generación de un número móvil mexicano aleatorio
2function generateMexicanMobileNumber(international = true) {
3  // Código de área de la Ciudad de México
4  const areaCode = "55";
5  
6  // Generar 8 dígitos aleatorios para el número
7  let number = "";
8  for (let i = 0; i < 8; i++) {
9    number += Math.floor(Math.random() * 10);
10  }
11  
12  // Formatear el número
13  const formattedNumber = `${areaCode} ${number.substring(0, 4)} ${number.substring(4, 8)}`;
14  
15  // Agregar código de país si se solicita el formato internacional
16  return international ? `+52 ${formattedNumber}` : formattedNumber;
17}
18
19// Función para validar un número de teléfono mexicano
20function validateMexicanPhoneNumber(number) {
21  // Patrón para formato internacional
22  const intlPattern = /^\+52 \d{2} \d{4} \d{4}$/;
23  
24  // Patrón para formato local
25  const localPattern = /^\d{2} \d{4} \d{4}$/;
26  
27  return intlPattern.test(number) || localPattern.test(number);
28}
29
30// Ejemplo de uso
31const phoneNumber = generateMexicanMobileNumber();
32console.log(phoneNumber); // Ejemplo: +52 55 1234 5678
33console.log(`Es válido: ${validateMexicanPhoneNumber(phoneNumber)}`); // Es válido: true
34

Python

1# Ejemplo en Python de generación y validación de un número de teléfono
2import random
3import re
4
5def generate_us_phone_number(international=True):
6    """Generar un número de teléfono aleatorio de EE. UU."""
7    # Generar código de área (evitando códigos como 911)
8    area_code = random.randint(200, 999)
9    
10    # Generar 7 dígitos aleatorios para el número
11    prefix = random.randint(200, 999)
12    line = random.randint(1000, 9999)
13    
14    # Formatear el número
15    if international:
16        return f"+1 {area_code} {prefix} {line}"
17    else:
18        return f"({area_code}) {prefix}-{line}"
19        
20def validate_us_phone_number(number):
21    """Validar si una cadena coincide con el patrón de número de teléfono de EE. UU."""
22    # Patrón para formato internacional
23    intl_pattern = r'^\+1 \d{3} \d{3} \d{4}$'
24    
25    # Patrón para formato local
26    local_pattern = r'^\(\d{3}\) \d{3}-\d{4}$'
27    
28    return bool(re.match(intl_pattern, number) or re.match(local_pattern, number))
29
30# Ejemplo de uso
31phone = generate_us_phone_number()
32print(phone)  # Ejemplo: +1 555 123 4567
33print(f"Es válido: {validate_us_phone_number(phone)}")  # Es válido: True
34

Java

1import java.util.Random;
2import java.util.regex.Pattern;
3
4public class PhoneNumberGenerator {
5    private static final Random random = new Random();
6    
7    public static String generateUKMobileNumber(boolean international) {
8        // Los números móviles del Reino Unido comienzan con '7'
9        StringBuilder number = new StringBuilder("7");
10        
11        // Generar 9 dígitos aleatorios más
12        for (int i = 0; i < 9; i++) {
13            number.append(random.nextInt(10));
14        }
15        
16        // Formatear el número
17        String formatted = number.substring(0, 4) + " " + number.substring(4, 10);
18        
19        // Agregar código de país si se solicita el formato internacional
20        return international ? "+44 " + formatted : "0" + formatted;
21    }
22    
23    public static boolean validateUKMobileNumber(String number) {
24        // Patrón para formato internacional
25        Pattern intlPattern = Pattern.compile("^\\+44 7\\d{3} \\d{6}$");
26        
27        // Patrón para formato local
28        Pattern localPattern = Pattern.compile("^07\\d{3} \\d{6}$");
29        
30        return intlPattern.matcher(number).matches() || 
31               localPattern.matcher(number).matches();
32    }
33    
34    public static void main(String[] args) {
35        String phoneNumber = generateUKMobileNumber(true);
36        System.out.println(phoneNumber); // Ejemplo: +44 7123 456789
37        System.out.println("Es válido: " + validateUKMobileNumber(phoneNumber)); // Es válido: true
38    }
39}
40

PHP

1<?php
2// Ejemplo en PHP de generación y validación de un número móvil indio
3
4function generateIndianMobileNumber($international = true) {
5    // Los números móviles indios comienzan con 6, 7, 8 o 9
6    $prefixes = [6, 7, 8, 9];
7    $prefix = $prefixes[array_rand($prefixes)];
8    
9    // Generar 9 dígitos aleatorios más
10    $number = $prefix;
11    for ($i = 0; $i < 9; $i++) {
12        $number .= rand(0, 9);
13    }
14    
15    // Formatear el número
16    $formatted = substr($number, 0, 5) . " " . substr($number, 5, 5);
17    
18    // Agregar código de país si se solicita el formato internacional
19    return $international ? "+91 " . $formatted : $formatted;
20}
21
22function validateIndianMobileNumber($number) {
23    // Patrón para formato internacional
24    $intlPattern = '/^\+91 [6-9]\d{4} \d{5}$/';
25    
26    // Patrón para formato local
27    $localPattern = '/^[6-9]\d{4} \d{5}$/';
28    
29    return preg_match($intlPattern, $number) || preg_match($localPattern, $number);
30}
31
32// Ejemplo de uso
33$phoneNumber = generateIndianMobileNumber();
34echo $phoneNumber . "\n"; // Ejemplo: +91 98765 43210
35echo "Es válido: " . (validateIndianMobileNumber($phoneNumber) ? "true" : "false") . "\n"; // Es válido: true
36?>
37

C#

1using System;
2using System.Text;
3using System.Text.RegularExpressions;
4
5public class PhoneNumberGenerator
6{
7    private static Random random = new Random();
8    
9    public static string GenerateMexicanMobileNumber(bool international = true)
10    {
11        // Código de área de la Ciudad de México
12        string areaCode = "55";
13        
14        // Generar 8 dígitos aleatorios para el número
15        StringBuilder number = new StringBuilder();
16        for (int i = 0; i < 8; i++)
17        {
18            number.Append(random.Next(10));
19        }
20        
21        // Formatear el número
22        string formattedNumber = $"{areaCode} {number.ToString(0, 4)} {number.ToString(4, 4)}";
23        
24        // Agregar código de país si se solicita el formato internacional
25        return international ? $"+52 {formattedNumber}" : formattedNumber;
26    }
27    
28    public static bool ValidateMexicanPhoneNumber(string number)
29    {
30        // Patrón para formato internacional
31        Regex intlPattern = new Regex(@"^\+52 \d{2} \d{4} \d{4}$");
32        
33        // Patrón para formato local
34        Regex localPattern = new Regex(@"^\d{2} \d{4} \d{4}$");
35        
36        return intlPattern.IsMatch(number) || localPattern.IsMatch(number);
37    }
38    
39    public static void Main()
40    {
41        string phoneNumber = GenerateMexicanMobileNumber();
42        Console.WriteLine(phoneNumber); // Ejemplo: +52 55 1234 5678
43        Console.WriteLine($"Es válido: {ValidateMexicanPhoneNumber(phoneNumber)}"); // Es válido: True
44    }
45}
46

Casos de Uso

Desarrollo y Pruebas de Software

  • Pruebas de Validación de Formularios: Generar números válidos de teléfono para probar las reglas de validación de formularios
  • Población de Bases de Datos: Crear datos de muestra realistas para entornos de desarrollo
  • Pruebas de API: Probar APIs que procesan o validan números de teléfono
  • Pruebas de Interfaz de Usuario: Verificar cómo su aplicación muestra diferentes formatos de números de teléfono

Educación y Capacitación

  • Aprender Estándares de Números de Teléfono: Comprender las reglas de formato internacionales y específicas de cada país
  • Capacitación en Telecomunicaciones: Demostrar diferentes formatos de números a través de países
  • Capacitación en Entrada de Datos: Practicar con ejemplos realistas de números de teléfono

Marketing y Comunicaciones

  • Configuración de Sistemas CRM: Población de sistemas de gestión de relaciones con clientes con datos de muestra
  • Pruebas de Plantillas: Probar plantillas de SMS o llamadas con números generados
  • Diseño de Experiencia de Usuario: Diseñar y probar interfaces de usuario que manejen números de teléfono

Alternativas

Si bien nuestra herramienta se centra en la simplicidad y facilidad de uso, hay alternativas para necesidades más complejas:

  • Generadores Basados en API: Servicios que proporcionan generación de números de teléfono a través de llamadas API
  • Soluciones Basadas en Bibliotecas: Bibliotecas de programación como libphonenumber para manejo integral de números de teléfono
  • Herramientas de Proveedores de Telecomunicaciones: Herramientas especializadas proporcionadas por empresas de telecomunicaciones
  • Conjuntos de Generación de Datos: Generadores de datos falsos integrales que incluyen números de teléfono entre otros tipos de datos

Nuestra herramienta es ideal cuando necesita una solución rápida y directa sin la complejidad de estas alternativas.

Historia de los Formatos y Estándares de Números de Teléfono

La evolución de los formatos y estándares de números de teléfono está estrechamente relacionada con el desarrollo de la tecnología y la infraestructura de telecomunicaciones en todo el mundo.

Primeros Sistemas de Teléfono (1870s-1950s)

Cuando los sistemas de teléfono se introdujeron por primera vez a finales del siglo XIX, los números de teléfono eran muy cortos, a menudo solo de 2 a 4 dígitos, ya que cada ciudad o pueblo tenía su propio intercambio telefónico independiente. Los operadores conectaban manualmente las llamadas conectando físicamente cables en las centralitas.

A medida que crecían las redes telefónicas, los números se volvían más largos y se introdujeron los códigos de área. El Plan Nacional de Numeración de América del Norte (NANP) se creó en 1947 para establecer un sistema unificado en los Estados Unidos y Canadá, introduciendo el formato familiar de 3-3-4 dígitos (código de área, código de intercambio, número de suscriptor).

Desarrollo de Estándares Internacionales (1960s-1980s)

La Unión Internacional de Telecomunicaciones (UIT), establecida en 1865 como la Unión Internacional de Telégrafos, comenzó a desarrollar estándares internacionales para la numeración telefónica en la década de 1960. Esto llevó a la creación de códigos de país y la estandarización de los procedimientos de marcado internacional.

En 1964, la UIT introdujo la Recomendación E.163, que estableció el plan internacional de numeración telefónica. Esta fue posteriormente reemplazada por la Recomendación E.164 en 1984, que sigue siendo el estándar actual para la numeración de telecomunicaciones públicas internacionales.

Revolución Móvil (1990s-2000s)

La adopción generalizada de teléfonos móviles en la década de 1990 y 2000 creó nuevos desafíos para los sistemas de numeración. Muchos países introdujeron prefijos específicos o rangos de números enteros dedicados a teléfonos móviles. Por ejemplo, en el Reino Unido, los números móviles suelen comenzar con '07', mientras que en México, los números móviles mantuvieron el mismo formato que los fijos pero con diferentes códigos de área.

Estándares Modernos y Era de VoIP (2000s-Presente)

Con el auge de la Voz sobre IP (VoIP) y la comunicación basada en Internet, los formatos de números de teléfono se han vuelto más flexibles. El estándar E.164 se ha adaptado para acomodar estas nuevas tecnologías, y muchos países han revisado sus planes de numeración para crear más capacidad.

La introducción de la portabilidad de números en muchos países ha difuminado aún más la distinción entre números móviles y fijos, ya que los usuarios ahora pueden mantener sus números al cambiar entre tipos de servicio.

Hoy en día, los formatos de números de teléfono continúan evolucionando, con algunos países considerando la eliminación de códigos de área o la integración de números de teléfono con identidades digitales. Sin embargo, la estructura básica establecida por E.164 sigue siendo la base de la numeración global de telecomunicaciones.

Preguntas Frecuentes

¿Qué hace que un número de teléfono sea válido?

Un número de teléfono válido sigue el formato correcto para su país, incluyendo la longitud adecuada, el código de país, el código de área y los patrones de prefijo. Nuestra herramienta genera números que se adhieren a estos requisitos estructurales, aunque no son números de teléfono reales asignados a suscriptores reales.

¿Por qué los números de teléfono tienen diferentes formatos en diferentes países?

Los formatos de números de teléfono varían según el país debido al desarrollo histórico de la infraestructura de telecomunicaciones, el tamaño de la población, las divisiones administrativas y las decisiones regulatorias nacionales. Cada autoridad de telecomunicaciones de un país establece su propio plan de numeración.

¿Puedo generar números reales y funcionales con esta herramienta?

No, esta herramienta genera números aleatorios que siguen el formato correcto para cada país, pero no se garantiza que estén asignados a suscriptores reales. La herramienta está diseñada solo para fines de prueba y educativos.

¿Qué tan precisos son los números generados?

Los números generados siguen con precisión los patrones estructurales (longitud, prefijos, etc.) para cada país y región, pero se generan aleatoriamente. Son adecuados para probar la validación de formato, pero no para telecomunicaciones reales.

¿Por qué los números móviles y fijos tienen diferentes formatos?

Los números móviles y fijos suelen tener diferentes formatos porque se introdujeron en diferentes momentos y son gestionados por diferentes sistemas dentro de la infraestructura de telecomunicaciones de un país. Los números móviles generalmente siguen planes de numeración más nuevos.

¿Puedo usar estos números en mi sitio web o aplicación?

Sí, puede usar los números generados para pruebas, desarrollo o como marcadores en sus aplicaciones. Sin embargo, evite usarlos en entornos de producción donde se esperan números de teléfono reales.

¿La herramienta almacena o guarda los números de teléfono generados?

No, la herramienta no almacena ni guarda números de teléfono generados. Cada número se crea bajo demanda y existe solo en su sesión de navegador hasta que navegue a otra página o genere un nuevo número.

¿Cómo funciona el proceso de validación?

El proceso de validación verifica si el número generado sigue el patrón correcto para el país seleccionado, incluyendo la longitud adecuada, el código de país y los requisitos de prefijo. No verifica si el número está realmente en servicio.

¿Puedo generar múltiples números de teléfono a la vez?

La versión actual genera un número de teléfono a la vez. Esta simplicidad asegura que la herramienta se mantenga fácil de usar y entender.

¿Son aleatorios los números de teléfono generados?

Sí, los dígitos en los números de teléfono generados (aparte de los códigos de país y los prefijos requeridos) se generan aleatoriamente, asegurando una amplia variedad de números posibles.

Referencias

  1. Unión Internacional de Telecomunicaciones (UIT). "E.164: El Plan Internacional de Numeración Telefónica Pública." UIT

  2. Administración del Plan Nacional de Numeración de América del Norte. "Acerca del Plan Nacional de Numeración de América del Norte." NANPA

  3. Ofcom (Reino Unido). "Números de teléfono - el Plan Nacional de Numeración Telefónica." Ofcom

  4. Departamento de Telecomunicaciones, Gobierno de India. "Plan Nacional de Numeración." DoT India

  5. Instituto Federal de Telecomunicaciones (México). "Plan Nacional de Numeración." IFT México

  6. Biblioteca libphonenumber de Google. "Análisis, Formateo y Validación de Números de Teléfono." Repositorio de GitHub

  7. Guía Mundial de Números de Teléfono. "Códigos de Marcado Internacional e Información." WTNG

¡Pruebe nuestro Generador y Validador de Números de Teléfono hoy para crear rápidamente números de teléfono correctamente formateados para sus necesidades de prueba, desarrollo o educativas!

🔗

Супутні інструменти

Відкрийте для себе більше інструментів, які можуть бути корисними для вашого робочого процесу