0

米国の電話番号を検証したいのですが、これは私がこれまでに持っているものです。

var numberRegex = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/

これに関する私の問題は、これが単一のブラケットを許可することです。

これにより、次のように閉じ括弧なしで開き括弧を渡すことができます(111-121-1212

米国の電話番号と一致し、角かっこを使用する正規表現スクリプトを持っている人はいますか?

4

3 に答える 3

2

代替手段を使用する(|):

(?:
 \(([0-9]{3})\)
  |
 ([0-9]{3})
)

結果のreは次のようになります。

var numberRegex = /^(?:\(([0-9]{3})\)|([0-9]{3}))[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/
于 2012-07-09T16:26:56.357 に答える
0

RegExLibはあなたの解決策を持っているかもしれません

于 2012-07-09T16:27:27.170 に答える
-1

私はこれに反対することをお勧めします。電話番号を検証する唯一の方法は、電話をかけて誰が電話に出るかを確認することです。電話番号は構文的には正しいように見えるかもしれませんが、それでも意味的に間違っている可能性があります(つまり、偽の電話番号)。

あなたができる最善のことは、電話番号が「有効に見えない」という警告をユーザーに与えることですが、とにかくどんな入力も受け入れます。

于 2012-07-09T16:28:00.040 に答える