2
私は以下の正規表現を持っています。JavaScript正規表現で左か右カッコが存在する場合はかっこに一致します
var reg2= /^(\d?)[-. ]?[(]?(\d{3})[)]?[- ]?(\d{3})[- ]?(\d{4})$/g;
私がいる問題は、私は無効返す他に、それは括弧を検出した場合、それが有効であるために、他の括弧を必要とするという通常の急行を作成するのですbelow.How入力のための有効な私REG2リターンです。
"555)-555-5555"
"(555-555-5555"
"1 555)555-5555"
編集
それは通常の
15556667777
1-555-666-7777
1 555 666 7777
は、私は$との違いは何であるかを尋ねことができます '(?:\(\ D {3} \)| \ dの{3})'と '(\(\ dの{3} \ )| \ d {3}) 'となります。明白な違いは$ '?:'でしょう。違いがなければ、$ ':'は特に何のために使われますか? –
'(?:...)'は非キャプチャグループで、 '(...)'はキャプチャグループです。非捕捉グループを使用することは、全体的な効率の点でより良いと考えられる。 – anubhava
ああ、あなたの権利。それは完璧だった。ありがとうございました。 –