🛠️

Whiz Tools

Build • Create • Innovate

Generador i validador de números de telèfon per a múltiples països

Genera números de telèfon aleatoris en format internacional o local amb codi de país i selecció de regió. Crea números mòbils o fixos amb el format adequat per a proves i desenvolupament.

Generador i validador de números de telèfon

📚

Documentació

Generador i Validador de Números de Telèfon

Introducció

El Generador i Validador de Números de Telèfon és una eina senzilla i fàcil d'usar dissenyada per crear números de telèfon aleatoris en diversos formats i validar la seva estructura. Tant si necessiteu números de telèfon d'exemple per a provar aplicacions, omplir bases de dades o fins i tot per a fins educatius, aquesta eina proporciona una solució senzilla sense complexitats innecessàries. Admet tant formats internacionals com locals, números mòbils i fixos, i inclou regles de format específiques de cada país per a una generació de números precisa.

La generació i validació de números de telèfon són tasques essencials en el desenvolupament de programari, les telecomunicacions i la gestió de dades. Aquesta eina simplifica aquests processos proporcionant una interfície intuïtiva que us permet especificar paràmetres com el codi del país, la regió i el tipus de número, i després genera números de telèfon vàlids d'acord amb els estàndards internacionals i els formats específics de cada país.

Com Funciona

El Generador i Validador de Números de Telèfon funciona aplicant regles de format específiques de cada país per crear números de telèfon aleatoris però estructuralment vàlids. L'eina segueix aquests passos:

  1. Selecció de Paràmetres: Seleccioneu el país, la regió i si voleu un número mòbil o fix.

  2. Determinació del Format: Basant-se en les vostres seleccions, l'eina identifica els patrons de format apropiats, incloent:

    • Codi del país (per exemple, +52 per a Mèxic)
    • Codi d'àrea/regió
    • Requisits de longitud del número
    • Prefixos per a mòbils o fixos
  3. Generació de Números Aleatoris: L'eina genera dígits aleatoris d'acord amb el patró determinat.

  4. Aplicació del Format: El número generat es formata d'acord amb els estàndards internacionals o les convencions locals segons la vostra preferència.

  5. Comprovació de Validació: L'eina valida el número generat per assegurar-se que segueix l'estructura correcta per al país i tipus seleccionats.

El procés de validació comprova el número contra patrons coneguts per al país seleccionat, verificant aspectes com ara:

  • Longitud correcta
  • Codi del país vàlid
  • Codi d'àrea/regió apropiat
  • Prefix adequat per a mòbils o fixos

Fórmula i Algoritmes

Si bé la generació de números de telèfon pot semblar un procés aleatori senzill, implementar-ho correctament requereix entendre les restriccions matemàtiques i els patrons que fan que els números de telèfon siguin vàlids en diferents regions.

Algoritme de Generació de Números Aleatoris

L'algoritme bàsic per generar un número de telèfon vàlid segueix aquesta fórmula:

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

On:

  • NN és el número de telèfon complet
  • CC és el codi del país (opcional per al format local)
  • AA és el codi d'àrea/regió
  • PP és el prefix (que pot tenir restriccions segons el tipus de número)
  • SS és el número de l'usuari (dígits aleatoris)

Algoritme de Validació

La validació dels números de telèfon es pot expressar com una operació de coincidència de patrons d'expressió regular, que es pot representar matemàticament com:

undefined
1// Exemple de JavaScript per generar un número mòbil mexicà aleatori
2function generateMexicanMobileNumber(international = true) {
3  // Codi d'àrea de Ciutat de Mèxic
4  const areaCode = "55";
5  
6  // Generar 8 dígits aleatoris per al número
7  let number = "";
8  for (let i = 0; i < 8; i++) {
9    number += Math.floor(Math.random() * 10);
10  }
11  
12  // Format del número
13  const formattedNumber = `${areaCode} ${number.substring(0, 4)} ${number.substring(4, 8)}`;
14  
15  // Afegir codi del país si es sol·licita el format internacional
16  return international ? `+52 ${formattedNumber}` : formattedNumber;
17}
18
19// Funció per validar un número de telèfon mexicà
20function validateMexicanPhoneNumber(number) {
21  // Patró per al format internacional
22  const intlPattern = /^\+52 \d{2} \d{4} \d{4}$/;
23  
24  // Patró per al format local
25  const localPattern = /^\d{2} \d{4} \d{4}$/;
26  
27  return intlPattern.test(number) || localPattern.test(number);
28}
29
30// Exemple d'ús
31const phoneNumber = generateMexicanMobileNumber();
32console.log(phoneNumber); // Exemple: +52 55 1234 5678
33console.log(`És vàlid: ${validateMexicanPhoneNumber(phoneNumber)}`); // És vàlid: true
34

Python

1# Exemple de Python per generar i validar un número de telèfon
2import random
3import re
4
5def generate_us_phone_number(international=True):
6    """Generar un número de telèfon aleatori dels EUA."""
7    # Generar codi d'àrea (evitant codis com 911)
8    area_code = random.randint(200, 999)
9    
10    # Generar 7 dígits aleatoris per al número
11    prefix = random.randint(200, 999)
12    line = random.randint(1000, 9999)
13    
14    # Format del 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 coincideix amb el patró de números de telèfon dels EUA."""
22    # Patró per al format internacional
23    intl_pattern = r'^\+1 \d{3} \d{3} \d{4}$'
24    
25    # Patró per al format 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# Exemple d'ús
31phone = generate_us_phone_number()
32print(phone)  # Exemple: +1 555 123 4567
33print(f"És vàlid: {validate_us_phone_number(phone)}")  # És vàlid: 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        // Els números mòbils del Regne Unit comencen amb '7'
9        StringBuilder number = new StringBuilder("7");
10        
11        // Generar 9 dígits més aleatoris
12        for (int i = 0; i < 9; i++) {
13            number.append(random.nextInt(10));
14        }
15        
16        // Format del número
17        String formatted = number.substring(0, 4) + " " + number.substring(4, 10);
18        
19        // Afegir codi del país si es sol·licita el format internacional
20        return international ? "+44 " + formatted : "0" + formatted;
21    }
22    
23    public static boolean validateUKMobileNumber(String number) {
24        // Patró per al format internacional
25        Pattern intlPattern = Pattern.compile("^\\+44 7\\d{3} \\d{6}$");
26        
27        // Patró per al format 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); // Exemple: +44 7123 456789
37        System.out.println("És vàlid: " + validateUKMobileNumber(phoneNumber)); // És vàlid: true
38    }
39}
40

PHP

1<?php
2// Exemple de PHP per generar i validar un número mòbil indi
3
4function generateIndianMobileNumber($international = true) {
5    // Els números mòbils indis comencen amb 6, 7, 8 o 9
6    $prefixes = [6, 7, 8, 9];
7    $prefix = $prefixes[array_rand($prefixes)];
8    
9    // Generar 9 dígits més aleatoris
10    $number = $prefix;
11    for ($i = 0; $i < 9; $i++) {
12        $number .= rand(0, 9);
13    }
14    
15    // Format del número
16    $formatted = substr($number, 0, 5) . " " . substr($number, 5, 5);
17    
18    // Afegir codi del país si es sol·licita el format internacional
19    return $international ? "+91 " . $formatted : $formatted;
20}
21
22function validateIndianMobileNumber($number) {
23    // Patró per al format internacional
24    $intlPattern = '/^\+91 [6-9]\d{4} \d{5}$/';
25    
26    // Patró per al format local
27    $localPattern = '/^[6-9]\d{4} \d{5}$/';
28    
29    return preg_match($intlPattern, $number) || preg_match($localPattern, $number);
30}
31
32// Exemple d'ús
33$phoneNumber = generateIndianMobileNumber();
34echo $phoneNumber . "\n"; // Exemple: +91 98765 43210
35echo "És vàlid: " . (validateIndianMobileNumber($phoneNumber) ? "true" : "false") . "\n"; // És vàlid: 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        // Codi d'àrea de Ciutat de Mèxic
12        string areaCode = "55";
13        
14        // Generar 8 dígits aleatoris per al 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        // Format del número
22        string formattedNumber = $"{areaCode} {number.ToString(0, 4)} {number.ToString(4, 4)}";
23        
24        // Afegir codi del país si es sol·licita el format internacional
25        return international ? $"+52 {formattedNumber}" : formattedNumber;
26    }
27    
28    public static bool ValidateMexicanPhoneNumber(string number)
29    {
30        // Patró per al format internacional
31        Regex intlPattern = new Regex(@"^\+52 \d{2} \d{4} \d{4}$");
32        
33        // Patró per al format 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); // Exemple: +52 55 1234 5678
43        Console.WriteLine($"És vàlid: {ValidateMexicanPhoneNumber(phoneNumber)}"); // És vàlid: True
44    }
45}
46

Casos d'Ús

Desenvolupament de Programari i Proves

  • Proves de Validació de Formularis: Generar números vàlids per provar les regles de validació de formularis
  • Ompliment de Bases de Dades: Crear dades d'exemple realistes per a entorns de desenvolupament
  • Proves d'API: Provar APIs que processen o validen números de telèfon
  • Proves d'Interfície d'Usuari: Verificar com la vostra aplicació mostra diferents formats de números de telèfon

Educació i Formació

  • Aprendre Estàndards de Números de Telèfon: Entendre les regles de format internacionals i específiques de cada país
  • Formació en Telecomunicacions: Demostrar diferents formats de números a través dels països
  • Formació en Introducció de Dades: Pràctica amb exemples de números de telèfon realistes

Màrqueting i Comunicacions

  • Configuració de Sistemes CRM: Omplir sistemes de gestió de relacions amb clients amb dades d'exemple
  • Proves de Plantilles: Provar plantilles d'SMS o trucades amb números generats
  • Disseny d'Experiència d'Usuari: Dissenyar i provar interfícies d'usuari que gestionen números de telèfon

Alternatives

Si bé la nostra eina se centra en la simplicitat i facilitat d'ús, hi ha alternatives per a necessitats més complexes:

  • Generadors Basats en API: Serveis que proporcionen generació de números de telèfon mitjançant trucades API
  • Solucions Basades en Llibreries: Llibreries de programació com libphonenumber per a la gestió completa de números de telèfon
  • Eines de Proveïdors de Telecomunicacions: Eines especialitzades proporcionades per empreses de telecomunicacions
  • Suites de Generació de Dades: Generadors de dades falses complets que inclouen números de telèfon entre altres tipus de dades

La nostra eina és ideal quan necessiteu una solució ràpida i senzilla sense la complexitat d'aquestes alternatives.

Història dels Formats i Estàndards de Números de Telèfon

L'evolució dels formats i estàndards de números de telèfon està estretament relacionada amb el desenvolupament de la tecnologia i infraestructura de telecomunicacions al voltant del món.

Sistemes de Telèfon Primerencs (1870s-1950s)

Quan els sistemes de telèfon es van introduir per primera vegada a finals del segle XIX, els números de telèfon eren molt curts, sovint només de 2 a 4 dígits, ja que cada ciutat o poble tenia el seu propi intercanvi de telèfon independent. Els operadors connectaven manualment les trucades connectant físicament fils a taulers de connexió.

A mesura que les xarxes telefòniques creixien, els números es van fer més llargs i es van introduir els codis d'àrea. El Pla de Numeració de Nord-amèrica (NANP) es va crear el 1947 per establir un sistema unificat a través dels Estats Units i Canadà, introduint el format familiar de 3-3-4 dígits (codi d'àrea, codi d'intercanvi, número d'usuari).

Desenvolupament d'Estàndards Internacionals (1960s-1980s)

La Unió Internacional de Telecomunicacions (UIT), establerta el 1865 com la Unió Internacional del Telègraf, va començar a desenvolupar estàndards internacionals per a la numeració telefònica als anys 60. Això va portar a la creació de codis de país i a la normalització dels procediments de marcació internacional.

El 1964, la UIT va introduir la Recomanació E.163, que va establir el pla internacional de numeració telefònica. Això va ser posteriorment substituït per la Recomanació E.164 el 1984, que continua sent l'estàndard actual per a la numeració pública internacional de telecomunicacions.

Revolució Mòbil (1990s-2000s)

L'adopció generalitzada de telèfons mòbils als anys 90 i 2000 va crear nous reptes per als sistemes de numeració. Molts països van introduir prefixos específics o rangs de números sencers dedicats a telèfons mòbils. Per exemple, al Regne Unit, els números mòbils solen començar amb '07', mentre que a Mèxic, els números mòbils mantenen el mateix format que els fixos però amb diferents codis d'àrea.

Estàndards Moderns i Era de VoIP (2000s-Actualitat)

Amb l'augment de la Veu sobre IP (VoIP) i la comunicació basada en internet, els formats de números de telèfon s'han tornat més flexibles. L'estàndard E.164 s'ha adaptat per acomodar aquestes noves tecnologies, i molts països han revisat els seus plans de numeració per crear més capacitat.

La introducció de la portabilitat de números en molts països ha difuminat encara més la distinció entre números mòbils i fixos, ja que els usuaris ara poden mantenir els seus números quan canvien entre tipus de servei.

Avui dia, els formats de números de telèfon continuen evolucionant, amb alguns països considerant l'eliminació dels codis d'àrea o la integració dels números de telèfon amb identitats digitals. No obstant això, l'estructura bàsica establerta per l'E.164 continua sent la base de la numeració de telecomunicacions global.

Preguntes Freqüents

Què fa que un número de telèfon sigui vàlid?

Un número de telèfon vàlid segueix el format correcte per al seu país, incloent la longitud adequada, codi del país, codi d'àrea i patrons de prefix. La nostra eina genera números que s'adhereixen a aquests requisits estructurals, tot i que no són números de telèfon reals assignats a subscriptors reals.

Per què els números de telèfon tenen diferents formats en diferents països?

Els formats de números de telèfon varien segons el país a causa del desenvolupament històric de la infraestructura de telecomunicacions, la mida de la població, les divisions administratives i les decisions regulatòries nacionals. Cada autoritat de telecomunicacions del país estableix el seu propi pla de numeració.

Puc generar números reals, funcionals amb aquesta eina?

No, aquesta eina genera números aleatoris que segueixen el format correcte per a cada país però no estan garantits que estiguin assignats a subscriptors reals. L'eina està dissenyada només per a fins de prova i educatius.

Quina precisió tenen els números generats?

Els números generats segueixen amb precisió els patrons estructurals (longitud, prefixos, etc.) per a cada país i regió, però són generats aleatòriament. Són adequats per a provar la validació de formats però no per a telecomunicacions reals.

Per què els números mòbils i fixos tenen formats diferents?

Els números mòbils i fixos sovint tenen formats diferents perquè es van introduir en moments diferents i són gestionats per diferents sistemes dins de la infraestructura de telecomunicacions d'un país. Els números mòbils solen seguir plans de numeració més nous.

Puc utilitzar aquests números per al meu lloc web o aplicació?

Sí, podeu utilitzar els números generats per a proves, desenvolupament o com a marcadors en les vostres aplicacions. No obstant això, eviteu utilitzar-los en entorns de producció on s'esperen números de telèfon reals.

Emmagatzema o guarda l'eina els números generats?

No, l'eina no emmagatzema ni guarda cap número generat. Cada número es crea a demanda i existeix només durant la vostra sessió del navegador fins que navegueu lluny o genereu un nou número.

Com funciona el procés de validació?

El procés de validació comprova si el número generat segueix el patró correcte per al país seleccionat, incloent la longitud adequada, codi del país i requisits de prefix. No verifica si el número està realment en servei.

Puc generar múltiples números de telèfon alhora?

La versió actual genera un número de telèfon a la vegada. Aquesta simplicitat assegura que l'eina es mantingui fàcil d'usar i entendre.

Són aleatoris els números generats?

Sí, els dígits dels números generats (a part dels codis de país i prefixos requerits) són generats aleatòriament, assegurant una gran varietat de números possibles.

Referències

  1. Unió Internacional de Telecomunicacions (UIT). "E.164: El Pla Internacional de Numeració Telefònica." UIT

  2. Administració del Pla de Numeració Nord-americana. "Sobre el Pla de Numeració Nord-americana." NANPA

  3. Ofcom (Regne Unit). "Números de telèfon - el Pla Nacional de Numeració Telefònica." Ofcom

  4. Departament de Telecomunicacions, Govern d'Índia. "Pla Nacional de Numeració." DoT Índia

  5. Institut Federal de Telecomunicacions (Mèxic). "Pla Nacional de Numeració." IFT Mèxic

  6. Llibreria libphonenumber de Google. "Anàlisi, Format i Validació de Números de Telèfon." Repositori de GitHub

  7. Guia Mundial de Numeració Telefònica. "Codis de Marcació Internacional i Informació." WTNG

Proveu el nostre Generador i Validador de Números de Telèfon avui mateix per crear ràpidament números de telèfon correctament formats per a les vostres necessitats de prova, desenvolupament o educatives!