Parsen Sie internationale Telefonnummern, validieren Sie sie und formatieren Sie sie in E.164-, internationale oder nationale Form um.
Parsen Sie internationale Telefonnummern, validieren Sie sie und formatieren Sie sie in E.164-, internationale oder nationale Form um. Parsen Sie internationale Telefonnummern, validieren Sie sie und formatieren Sie sie in E.164-, internationale oder nationale Form um.
Hintergrund
Wie Telefonnummern aufgebaut sind
Eine internationale Telefonnummer besteht aus drei logischen Teilen: einer
Landesvorwahl (1 für Nordamerika, 44 für das Vereinigte Königreich, 86 für
China, 81 für Japan und so weiter), einer nationalen Signifikanznummer
(Vorwahl plus Teilnehmernummer) und einer optionalen Durchwahl. Die E.164-
Empfehlung definiert die kanonische Darstellung: ein führendes +, die
Landesvorwahl, dann die nationale Nummer ohne Trennzeichen -- zum Beispiel
+14155552671. Wenn Benutzer Nummern in Freiform eingeben, können sie
Leerzeichen, Bindestriche, Klammern oder führende Nullen enthalten, die nur
innerhalb eines Landes eine Bedeutung haben. Ein guter Parser normalisiert
all das in strukturierte Felder.
Warum Parsen schwerer ist, als es aussieht
Länder sind sich über fast alles uneinig: die Länge nationaler Nummern, die
Verwendung von Durchwahlpräfixen (China lässt eine führende 0 beim Wählen
aus dem Ausland weg, das Vereinigte Königreich tut dasselbe mit seinem
Durchwahl-0), Mobil- versus Festnetzpräfixe und spezielle Kurzwahlen.
4444 ist in einigen Ländern eine gültige nationale Nummer und in anderen
ungültig. Nummerierungspläne sind auch bewegliche Ziele -- Brasilien fügte
2016 allen Mobilnummern eine Ziffer hinzu, und die Regulierungsbehörde
jedes Landes veröffentlicht Änderungen. Deshalb tragen ernsthafte Validatoren
eine vollständige Metadaten-Datenbank statt harter Regexes. Die Bibliothek,
die diese Seite antreibt, bündelt die offiziellen Google-Metadaten für jedes
Land und Gebiet, sodass sie beispielsweise weiß, dass chinesische
Mobilnummern 11 Ziffern lang sind und mit 1 beginnen.
Den Parser verwenden
Geben Sie eine Nummer mit oder ohne + und Landesvorwahl ein. Wenn Sie die
Landesvorwahl weglassen, wählen Sie ein Standardland aus der Dropdown-Liste,
damit der Parser das nationale Format auflösen kann. Das Werkzeug meldet die
E.164-Form, die internationale Formatierung mit Leerzeichen, die nationale
Formatierung, das erkannte Land, die Vorwahl, die nationale Nummer, ob die
Nummer gültig und möglich ist, den Nummerntyp (Mobil, Festnetz, gebührenfrei
usw.) und den Anbieter, sofern die Metadaten ihn bestimmen können. Eine
Nummer kann "möglich" (die richtige Länge und Präfixform) sein, ohne
"gültig" (zugewiesen und korrekt strukturiert) zu sein -- beide Prüfungen
werden angezeigt.
Praktische Hinweise
Die Länderkennung aus einer nackten Nummer ist heuristisch: +1 555 2671
bedeutet eindeutig Nordamerika, aber kurze Nummern können mit mehreren
Ländern übereinstimmen. Geben Sie für Maschine-zu-Maschine-Verwendung
immer die Landesvorwahl an und speichern Sie Nummern in Ihrer Datenbank im
E.164-Format. Bei der Validierung von Benutzereingaben bevorzugen Sie
"möglich"-Prüfungen für sofortiges UX-Feedback und heben Sie vollständige
"gültig"-Prüfungen für die Übermittlung auf. Dieses Werkzeug läuft
vollständig im Browser auf den gebündelten libphonenumber-js-Daten (MIT) --
nichts, was Sie eingeben, wird übertragen.
Häufig gestellte Fragen
Warum erhalte ich "möglich, aber nicht gültig"?
Möglich bedeutet, dass die Nummer der allgemeinen Längen- und Präfixform des Landes entspricht. Gültig bedeutet, dass es eine tatsächlich zugewiesene Nummer unter den offiziellen Metadaten ist. Viele Testnummern oder nicht zugewiesene Bereiche sind möglich, aber nicht gültig.
Was ist E.164 und warum speichern?
E.164 ist der ITU-Standard für Telefonnummern: + dann Landesvorwahl dann nationale Nummer, maximal 15 Ziffern. Das Speichern dieser einen kanonischen Form macht Deduplizierung und internationales Wählen trivial, da sie über alle Länder hinweg eindeutig ist.
Kann ich Nummern ohne Landesvorwahl validieren?
Nicht verlässlich. Ohne Landesvorwahl muss der Parser raten, und kurze Nummern können in vielen Ländern gültig sein. Geben Sie ein Standardland an (oder verlangen Sie den Code), wann immer die Eingabe nicht explizit international ist.
Wie wird der Nummerntyp bestimmt?
Die gebündelten Metadaten klassifizieren Bereiche nach Präfix: Mobil, Festnetz, gebührenfrei, Premium, VoIP, gemeinsame Kosten und mehr. Der Typ wird nur angezeigt, wenn die Metadaten einen zuweisen; andernfalls erscheint ein Bindestrich.
Wird meine Eingabe irgendwohin gesendet?
Nein. Parsen, Validierung und Formatierung erfolgen alles im Browser mit dem gebündelten libphonenumber-js-Paket (MIT). Die Seite funktioniert nach dem Laden vollständig offline.
Warum formatiert sich dieselbe Nummer in verschiedenen Ländern unterschiedlich?
Die internationale Formatierung gruppiert Ziffern nach den Konventionen des Landes (zum Beispiel gruppieren französische Nummern paarweise, US-Nummern verwenden 3-3-4). E.164 bleibt unabhängig davon identisch; nur die Anzeigeform ändert sich.