Javascript Regex - Was wird verwendet, um eine Telefonnummer zu bestätigen?

7

Könnte jemand mir sagen, was RegEx funktionieren würde, um eine internationale Telefonnummer zu validieren, die Leerraum zwischen den Zahlen einschließt und auch diese Zeichen zulässt: - ( ) .

Die Anzahl der Zahlen in der Zeichenfolge ist nicht so wichtig, ich möchte nur, dass der Benutzer in der Lage ist, etwas wie Beispiel 1 oder 2 einzugeben, wenn er möchte:

Beispiel:

  1. +44 (0) 207 111 1111

  2. 442071111111

Ich habe die geposteten Antworten auf einige ähnliche Fragen nach bestem Wissen gelesen und getestet, aber bisher funktioniert keiner von ihnen so, wie ich es möchte.

Bitte kann mir jemand mit einer klaren Erklärung helfen, wie das obige für die Validierung geschrieben werden sollte?

Vielen Dank an alle, die helfen können.

    
user2031340 01.02.2013, 04:55
quelle

6 Antworten

12
%Vor%     
Sagar Hirapara 01.02.2013 05:04
quelle
10

Siehe Ein umfassender Regex für die Überprüfung der Telefonnummer

>

Schneller Spickzettel

  • Starten Sie den Ausdruck: /^
  • Wenn Sie ein Leerzeichen benötigen, verwenden Sie: [\s] oder \s
  • Wenn Sie Klammern benötigen, verwenden Sie: [(] und [)] . Die Verwendung von \( und \) ist hässlich und kann Dinge verwirrend machen.
  • Wenn Sie wollen, dass etwas optional ist, fügen Sie ein ? danach hinzu
  • Wenn Sie einen Bindestrich möchten, geben Sie einfach - oder [-] ein. Wenn du es nicht als erstes oder letztes Mal in eine Reihe anderer Charaktere steckst, musst du es möglicherweise umgehen: \-
  • Wenn Sie verschiedene Optionen in einem Slot akzeptieren möchten, setzen Sie Klammern um die Optionen: [-.\s] erfordert einen Bindestrich, einen Punkt oder Leerzeichen. Ein Fragezeichen nach der letzten Klammer macht all diese Optionen für diesen Slot optional.
  • \d{3} : Erfordert eine 3-stellige Nummer: 000-999. Kurzschrift für %Code%.
  • [0-9][0-9][0-9] : Erfordert eine Ziffer 2-9 für diesen Slot.
  • [2-9] : Akzeptiere ein "Plus" oder eine 1 und ein Leerzeichen (Pipe-Zeichen, (\+|1\s)? , ist "oder") und mache es optional. Das "Plus" -Zeichen muss mit Escapezeichen versehen sein.
  • Wenn bestimmte Zahlen einem Slot entsprechen sollen, geben Sie sie ein: | benötigt eine 2, 4 oder 6. [246] benötigt 77 oder 78.
  • [77|78] : Beende den Ausdruck
vapcguy 14.08.2014 02:36
quelle
7

Dies ist ein langer Regex, aber er unterstützt beide Formate (zB 2 als gültige internationale Nummer, MUSS entweder mit + oder 00 beginnen):

%Vor%

Dies ermöglicht Erweiterungen und eine Mehrfachauswahl von Formaten und Trennzeichen.

Treffer:

  • (+ 351) 282 43 50 50
  • 90191919908
  • 555-8909
  • 001 6867684
  • 001 6867684x1
  • 1 (234) 567-8901
  • 1-234-567-8901 x1234
  • 1-234-567-8901 ext1234
  • 1-234 567.89 / 01 ext.1234
  • 1 (234) 5678901x1234
  • (123) 8575973
  • (0055) (123) 8575973

Auf $ n speichert es:

  1. Länderkennzeichen
  2. Telefonnummer
  3. Erweiterung

Dieselbe Antwort wurde hier gegeben: Eine umfassende Regex für Telefonnummer Validierung (direkter Link zu meiner Antwort)

    
Ismael Miguel 08.01.2014 09:51
quelle
1
%Vor%

Dies wird Ihnen helfen, JavaScript RegEx zu verstehen.

    
Pank 06.03.2013 18:47
quelle
1

Versuchen Sie es nicht einmal. Wenn Sie versuchen, sich vor ungültigen Eingaben zu schützen, kann dies zu verärgerten Benutzern führen, die keine gültigen Telefonnummern eingeben können. Und wenn der Benutzer wirklich eine ungültige Telefonnummer eingeben möchte, kann er dies trotzdem tun.

    
Martin Vilcans 14.01.2014 15:21
quelle
1
%Vor%
  

Probieren Sie es aus

    
shafi7468 05.04.2016 07:03
quelle