Un numero di telefono scritto per qualcuno che si trova nello stesso Paese è ambiguo ovunque altrove. Le stesse cifre indicano un numero diverso a seconda che sia presente uno zero iniziale o un prefisso internazionale. E.164 elimina l'ambiguità fissando un'unica forma scritta.
Cosa definisce effettivamente lo standard?
La struttura dei numeri internazionali, in otto categorie distinte.
La Raccomandazione ITU-T E.164, dell'International Telecommunication Union, l'agenzia ONU che gestisce il piano di numerazione, fissa sia la struttura delle cifre sia l'analisi di instradamento per ogni categoria di numero internazionale:
Recommendation ITU-T E.164 provides the number structure and functionality for the eight categories of numbers used for international public telecommunication:
Queste categorie coprono più dei semplici numeri nazionali. Le aree geografiche sono una delle otto, insieme a servizi globali, altri servizi globali, servizi satellitari globali, reti, gruppi di Paesi, risorse per sperimentazione e servizi e applicazioni per l'Internet delle cose e il traffico machine-to-machine. Lo standard fornisce anche il nome per i numeri stessi:
Annex A provides additional information on the structure and function of international public telecommunication numbers (hereafter referred to as "international E.164 numbers").
Come si presenta un numero scritto correttamente?
Un prefisso internazionale, poi il numero nazionale, e nient'altro.
+31612345678 è un numero mobile olandese. 31 è il prefisso internazionale e 612345678 è il numero nazionale. Ciò che è assente conta quanto ciò che è presente: niente spazi, niente trattini, niente parentesi, niente zero iniziale dalla convenzione di composizione nazionale e niente prefisso di accesso internazionale come 011 o 00.
Il + iniziale è notazione, non una cifra. Indica a qualsiasi cosa legga la stringa che segue un numero internazionale. Nessuno lo compone. Quindi memorizza le cifre. Tratta la punteggiatura come presentazione.
Quanto può essere lungo un numero?
Abbastanza da non doverlo controllare.
La fonte leggibile afferma questo in modo più restrittivo di quanto la regola venga solitamente citata. Le FAQ di libphonenumber di Google attribuiscono il limite di quindici cifre alla sola parte nazionale e affermano che non tutti i Paesi lo rispettano:
We support parsing and storing numbers from a minimum length of two digits to a maximum length of 17 digits currently (excluding country calling code). The ITU standard says the national significant number should not be longer than fifteen digits, but empirically this has been proven not to be followed by all countries.
Quindi un validatore che rifiuta qualsiasi numero oltre le quindici cifre rifiuterà numeri reali.
La regola pratica è analizzare anziché misurare. Una libreria o una ricerca risponde se un numero rientra in un intervallo assegnabile, cosa che un confronto di lunghezza non può fare. Cosa verifica la validazione di un numero di telefono spiega cosa stabilisce ogni tipo di controllo.
Quali formati accetta Bird?
Il prefisso internazionale e il numero nazionale, con la punteggiatura facoltativa.
Invii il prefisso internazionale seguito dal numero nazionale. Il modo in cui contrassegni la parte internazionale è volutamente flessibile. Il + iniziale è facoltativo e 00 funziona al suo posto, quindi +31612345678, 31612345678 e 0031612345678 indicano tutti lo stesso numero.
Quello che non farà è indovinare. Un numero scritto per la composizione all'interno di un Paese, senza prefisso internazionale, viene rifiutato anziché considerato appartenente a un Paese specifico. Un modulo che raccoglie un numero nazionale senza raccogliere anche il Paese produce esattamente quel rifiuto. Acquisisci entrambi insieme.
Quando acquisti un numero, il valore da inviare è esattamente quello restituito dall'inventario, non una copia riformattata. La guida alla ricerca descrive i formati accettati e cos'è un numero di telefono virtuale spiega cosa può fare un numero una volta che lo possiedi.
In breve
È una raccomandazione ITU, non una convenzione di formattazione.
ITU-T E.164 definisce la struttura dei numeri per otto categorie di numeri internazionali, inclusa una per i servizi machine-to-machine.
Il segno più è notazione, non una cifra.
Indica che ciò che segue è un numero internazionale e non qualcosa da comporre, ed è per questo che le cifre sono la parte che deve essere corretta.
Non validare in base alla lunghezza.
La libreria di Google per i numeri riporta un'indicazione di quindici cifre dallo standard ITU e afferma che non è rispettata da tutti i Paesi.
Un numero senza prefisso internazionale non è un numero E.164.
Bird rifiuta un numero esclusivamente nazionale anziché indovinare a quale Paese appartenga. Memorizza il prefisso internazionale insieme al numero.