1. ホーム
  2. javascript

[解決済み] 米国の電話番号を検証するための正規表現?重複

2022-03-09 03:07:33

質問

<ブロッククオート

重複の可能性があります。
電話番号検証のための包括的な正規表現
JavaScriptで電話番号の検証を行う

米国の電話番号を検証するための正規表現を作成しようとしています。 (123)123-1234 -- 真 123-123-1234 -- 真

それ以外はすべて無効です。

というようなことを思いつきました。

 ^\(?([0-9]{3}\)?[-]([0-9]{3})[-]([0-9]{4})$

しかし、これは検証します。 123)-123-1234 (123-123-1234

というのは正しくない。

どうすればいい?

最も簡単な方法は、両者を一致させることです。

^\([0-9]{3}\)[0-9]{3}-[0-9]{4}$

そして

^[0-9]{3}-[0-9]{3}-[0-9]{4}$

を使用することです。 オルタネート ( (...|...) ): 2つのほとんど別々のオプションとして指定します。

^(\([0-9]{3}\)|[0-9]{3}-)[0-9]{3}-[0-9]{4}$

ちなみに、アメリカ人が地域番号を括弧で囲む場合、実際にはその後にスペースを入れる。 (123) 123-1234 ではなく (123)123-1234 . と書くといいかもしれませんね。

^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$

(ただし、電話番号の書式を明示的に示すのがベストでしょう)。