Überprüfen der Telefonnummerneingabe in HTML und JavaScript
Lesezeit: 3 Minuten
Falls du schon einmal „Telefonnummer RegEx“ gegoogelt und es gleich wieder bereut hast, dann bist du hier genau an der richtigen Stelle gelandet. Es gibt zahlreiche gültige Formate für Telefonnummern, aber zum Glück gibt es kostenlose Tools, mit denen wir die Gültigkeit von Telefonnummern überprüfen können.
In diesem Blogbeitrag gehe ich auf zwei verschiedene Möglichkeiten ein, wie wir die Gültigkeit einer Telefonnummer überprüfen können: mit der Twilio Lookup-API und dem JavaScript-Plug-in „intl-tel-input“. Dieser Beitrag baut auf meinem Blog Erstellen eines Eingabefelds für internationale Telefonnummern in HTML und JavaScript auf. Darin erkläre ich, wie wir das Eingabefeld für Telefonnummern erstellen, das ich nachfolgend verwende.
Der vollständige Code befindet sich auf meinem GitHub.
Warum eine Überprüfung der Telefonnummerneingabe
Einer der Gründe, warum wir Telefonnummern überprüfen möchten, ist, Spam und Betrug bei Registrierungen zu vermeiden und einfache Tippfehler abzufangen. Ich gebe am Ende des Blogs auch ein paar Empfehlungen zur Bestätigung via Telefon und einige weitere Best Practices zur Kontosicherheit, da wir nicht nur sicherstellen möchten, dass die bereitgestellte Telefonnummer gültig ist, sondern dass unsere Benutzer auch Zugriff darauf haben.
Einrichten der Telefonnummernüberprüfung
Wenn wir noch keine Telefonnummerneingabe haben, können wir mit einer einfachen HTML-Seite beginnen, die die Eingabe einer Telefonnummer zulässt.
Anhand des folgenden Codes erläutere ich im Folgenden die verschiedenen Überprüfungsoptionen. Wir fügen diesen Code in eine Datei mit dem Namen index.html
ein:
Für einen besseren Stil können wir das Stylesheet von meinem GitHub herunterladen und es in ein Dokument mit dem Namen styles.css
im selben Ordner wie die index.html
einfügen.
Wir testen die Anwendung, indem wir die HTML-Datei in einen Webbrowser laden. Wie wir sehen können, löst eine ungültige Telefonnummer keinen Fehler aus:
Das berichtigen wir jetzt.
Überprüfen von Telefonnummern
Es gibt zwei verschiedene Möglichkeiten für die Überprüfung von Telefonnummern:
- Mit der Twilio Lookup-API
- Mit dem Plug-in „intl-tel-input“
Überprüfen von Telefonnummern mit der Twilio Lookup-API
Die Twilio Lookup-API-Anfrage ist kostenlos, und wir können sie in jedes beliebige Back-End einbetten. Im Rahmen dieses Tutorials verwenden wir serverlose JavaScript-Funktionen von Twilio.
- Vorteile: Die Lookup-API verfügt über aktualisierte Gültigkeitsdaten für Telefonnummern. Wir können die API auch zur Überprüfung der Art der Leitung oder des Netzbetreibers nutzen.
- Nachteile: Sie benötigt mehr Code, und die Anfrage läuft über das Netzwerk.
Für diesen Teil benötigen wir ein Twilio-Konto: kostenlose Registrierung. Wir rufen die Twilio-Konsole auf und erstellen einen Funktionsdienst. Ich habe meinen intl-tel-input
benannt.
Wir fügen eine Funktion hinzu und nennen sie lookup
.
Wir müssen darauf achten, dass wir den Funktionstyp auf „Public“ (Öffentlich) einstellen. Das ist erforderlich, weil wir die Funktion außerhalb von Twilio aufrufen.
Wir ersetzen den Code durch den folgenden:
Diese Funktion schlägt die Telefonnummer nach und gibt „success: true“ zurück, wenn die API ermittelt, dass sie gültig ist, und „false“, falls das nicht der Fall ist.
Wir klicken unten auf „Deploy All“ (Alle bereitstellen).
Wir können unsere Funktion im Browser testen, indem wir einen Abfrageparameter hinzufügen: http://<unser-präfix-hier>.twil.io/lookup?phone=+18448144627
Wir sollten Folgendes sehen: {"success":true}
Wir rufen diese Funktion jetzt über unsere Anwendung auf.
Wir ersetzen die Funktion process
durch Folgendes. Dabei müssen wir darauf achten, dass wir die URL innerhalb des fetch
-Aufrufs durch die URL für unsere Twilio-Funktion ersetzen:
Wenn wir jetzt versuchen, eine ungültige Nummer einzugeben, erhalten wir eine Fehlermeldung:
Überprüfen von Telefonnummern mit dem Plug-in „intl-tel-input“
Wir folgen den Anweisungen in diesem Blog oder in der Dokumentation für das Plug-in, um „intl-tel-input“ unserer Website hinzuzufügen. Alternativ können wir den oben bereitgestellten HTML-Code verwenden. Neben dem Erstellen von gut aussehenden Eingabeformularen stellt das Plug-in „intl-tel-input“ auch einen Wrapper um „libphonenumber“ von Google bereit, um beim Erkennen von gültigen und ungültigen Telefonnummern zu helfen.
- Vorteile: Weniger Code, vor allem, wenn wir bereits das Plug-in für die Telefonnummerneingabe verwenden.
- Nachteile: Gültige Telefonnummern ändern sich, und wir müssen uns auf Plug-in-Updates verlassen, um Updates in „libphonenumber“ nicht zu versäumen. Wir könnten Gefahr laufen, einige gültige Benutzer zu sperren.
Wir ersetzen den Code für die Funktion process
durch Folgendes:
Das Ergebnis sollte der Version mit der Lookup-API entsprechen.
Beide Möglichkeiten sind gute Optionen, um Telefonnummern zu überprüfen. Ich persönlich tendiere zur Lookup-API, da wir an dieser Stelle wahrscheinlich ohnehin eine API-Anfrage stellen werden, um eine Bestätigung via Telefon zu starten und den Benutzer in der Datenbank zu speichern.
Best Practices für Kontosicherheit
Die Überprüfung von Telefonnummern ist nur eine Möglichkeit, Betrug vorzubeugen und den Schutz unserer Anwendung und der Daten unserer Benutzer sicherzustellen.
Ich empfehle immer eine Bestätigung via Telefon. Dafür gibt es zwar mehrere Optionen, aber das Senden eines Einmal-Sicherheitscodes (OTP) an die Telefonnummer ist eine gute Möglichkeit, den Besitz der Nummer gleich beim ersten Bereitstellen dieser Informationen durch den Benutzer zu gewährleisten. Dadurch können wir nicht nur einfache Tippfehler vermeiden, sondern uns auch davor schützen, dass ein Benutzer eine Nummer eingibt, die nicht seine eigene ist. In diesem Projekt auf dem Twilio CodeExchange wird anschaulich erklärt, wie OTPs mit der Twilio Verify-API implementiert werden.
Das könnte dich außerdem interessieren:
- Dokumentation zur Twilio Lookup-API
- Serverloses Bestätigen von Telefonnummern mit Twilio Verify
- So kannst du Benutzer dazu anregen, 2FA zu aktivieren
- Schneller Checkout über SMS-Bestätigung mit Stripe und Twilio
Noch Fragen zur Bestätigung von Telefonnummern? Du findest mich auf Twitter unter @kelleyrobinson. Ich bin gespannt, von deinen Entwicklungen zu hören.
Verwandte Posts
Ähnliche Ressourcen
Twilio Docs
Von APIs über SDKs bis hin zu Beispiel-Apps
API-Referenzdokumentation, SDKs, Hilfsbibliotheken, Schnellstarts und Tutorials für Ihre Sprache und Plattform.
Ressourcen-Center
Die neuesten E-Books, Branchenberichte und Webinare
Lernen Sie von Customer-Engagement-Experten, um Ihre eigene Kommunikation zu verbessern.
Ahoy
Twilios Entwickler-Community-Hub
Best Practices, Codebeispiele und Inspiration zum Aufbau von Kommunikations- und digitalen Interaktionserlebnissen.