1. ホーム
  2. regex

[解決済み] 正規表現を使用した電話番号の検証方法

2022-03-21 05:59:57

質問

電話番号を検証するための包括的な正規表現をまとめようとしています。理想的には国際的なフォーマットを扱うことですが、以下のような米国内のフォーマットも扱えなければなりません。

  • 1-234-567-8901
  • 1-234-567-8901 x1234
  • 1-234-567-8901 ext1234
  • 1 (234) 567-8901
  • 1.234.567.8901
  • 1/234/567/8901
  • 12345678901

私は私の現在の試みで答えるが、私は誰かがより良い、またはよりエレガントな何かを持っていることを期待しています。

どのように解決するのですか?

より良い方法としては、入力時に数字以外の文字をすべて取り除くことです('x'と先頭の'+'記号を除く)。 +44 (0) ... 国際的な接頭辞を使うように言われた場合 (そのような特定の場合は (0) を完全に削除してください)。

そうすると、こんな値になってしまうんです。

 12345678901
 12345678901x1234
 345678901x1234
 12344678901
 12345678901
 12345678901
 12345678901
 +4112345678
 +441234567890

そして、表示するときに、好きなように再フォーマットします。

  1 (234) 567-8901
  1 (234) 567-8901 x1234