Javascript Regex - Was zu verwenden, um zu überprüfen, eine Telefonnummer?
Könnte mir jemand sagen, was RegEx arbeiten würde, um die Validierung einer internationalen Telefonnummer einschließlich der Leerzeichen zwischen den zahlen und auch so für diese chars: - ( )
.
Den Betrag von zahlen in dem string ist nicht allzu wichtig, ich möchte nur die Benutzer in der Lage sein, etwas zu geben wie entweder Beispiel 1 oder 2, wenn Sie wollen:
Beispiel:
-
+44 (0) 207 111 1111
-
442071111111
Habe ich schon gelesen und getestet, die Antworten auf einige ähnliche Fragen zu meinem besten Verständnis, aber bisher keiner von Ihnen arbeiten für mich so, wie ich es will.
Bitte kann mir jemand helfen mit eine klare Erklärung, wie die oben genannten sollten so geschrieben werden, für die Validierung?
Vielen Dank wer kann helfen.
- Beispiel 1 passt nicht zu Ihrer Beschreibung. Die Beschreibung scheint nicht zu erlauben, einer der führenden
+
- siehe den link unten für die Anleitung stackoverflow.com/questions/6918185/... stackoverflow.com/questions/6195458/... diese Fragen haben das gleiche problem wie von dir. so es wird Ihnen die Lösung Ihres Problems.
- Sorry Leute, ich vermisste die '+' in meiner Beschreibung. Ich würde gerne das wenn poss.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diesen code
HTML-Code
JS-Code
112
und Ihre regex behauptet, es ist nicht richtig.Sehen Eine umfassende regex für die Telefonnummer validation
Schnelle Spickzettel
/^
[\s]
oder\s
[(]
und[)]
. Mit\(
und\)
ist hässlich und kann die Dinge verwirrend.?
nach-
oder[-]
. Wenn Sie es nicht erste oder Letzte in einer Reihe von anderen Zeichen, obwohl, müssen Sie möglicherweise, um es zu entkommen:\-
[-.\s]
benötigen einen Bindestrich, Punkt oder Leerzeichen. Ein Fragezeichen nach der letzten Klammer mit all diesen optional bei diesem slot.\d{3}
: Benötigt eine 3-stellige Zahl: 000-999. Die Kurzform für[0-9][0-9][0-9]
.[2-9]
: Erfordert eine Ziffer 2-9 für diesen slot.(\+|1\s)?
: Akzeptieren Sie ein "plus" oder ein 1-und ein Leerzeichen (pipe-Zeichen,|
ist "oder"), und machen es freiwillig. Die "plus" - Zeichen müssen escaped werden.[246]
erfordern eine 2, 4 oder 6.[77|78]
erfordern, 77 oder 78.$/
: Ende der AusdruckDies ist ein langer regex, aber es unterstützt beide Formate (zum Beispiel 2, um eine gültige internationale Nummer, wird beginnen MÜSSEN, die entweder mit + oder 00):
Diese erlaubt Erweiterungen und eine multiple-choice-Formate und Trennzeichen.
Entspricht:
Auf $n, es spart:
Diese gleiche Antwort gegeben wurde hier: Eine umfassende regex für die Telefonnummer validation (direkter link auf meine Antwort)
/^[\s()+-]*([0-9][\s()+-]*){6,20}(?:[\-\.\ \\\/]?(?:#|ext\.?|extension|x)[\-\.\ \\\/]?(\d+))?$/i
die funktioniert für die meisten Fälle und erfordert mehr als ein paar zahlen.Kann dies wird Ihnen helfen zu verstehen, JavaScript RegEx..
Versuchen Sie nicht sogar. Versucht zu schützen gegen das, was Sie denken, ist ungültig-Eingabe führen kann wütend Benutzer, die keine absolut gültigen Telefonnummern. Und wenn der Benutzer wirklich will, geben Sie eine ungültige Telefonnummer, die er/Sie in der Lage sein, es zu tun sowieso.