Ich habe meine regulären Express unten, entspricht die Telefonnummer korrekt.JavaScript Match geklammert, wenn eine linke oder rechte Klammer im regulären Ausdruck vorhanden sind
var reg2= /^(\d?)[-. ]?[(]?(\d{3})[)]?[- ]?(\d{3})[- ]?(\d{4})$/g;
Das Problem, das ich habe, ist meine REG2 für die Eingänge gültig Rückkehr below.How ich eine regelmäßige ausdrückliche schaffen, dass, wenn es einen parenthesize erkennt, eine andere parenthesize erfordert gültig zu sein, sonst ungültig zurück.
"555)-555-5555"
"(555-555-5555"
"1 555)555-5555"
bearbeiten
Zugleich mit regelmäßigen
15556667777
1-555-666-7777
1 555 666 7777
kann ich dich fragen, was ist der Unterschied zwischen $ '(?: \ (\ D {3} \) | \ d {3})' und '(\ (\ d {3} \) | \ d {3}) '. Der offensichtliche Unterschied wäre $ '?:'. Wenn es keinen Unterschied gibt, wofür wird $ '?:' Speziell verwendet? –
'(?: ...)' ist eine nicht einfangende Gruppe und '(...)' ist eine einfangende Gruppe. Die Verwendung einer nicht einfangenden Gruppe wird als besser für die Gesamteffizienz angesehen. – anubhava
Ahhh, dein Recht. Das war perfekt. Vielen Dank. –