2023 © RegexOne
メール | Twitter
電話番号の検証は、入力の種類によっては難しい作業です。**市外局番**が必要な州外の電話番号や、**国番号**が必要な国際電話番号は、正規表現の複雑さを増します。また、電話番号の入力方法には個人差があります(たとえば、**ダッシュ**や**空白**を入れる人もいれば、入れない人もいます)。
以下は、実際のデータを使用する際に遭遇する可能性のある電話番号です。番号と適切な市外局番をキャプチャする単一の正規表現を作成してください。
| タスク | テキスト | キャプチャグループ | |
| キャプチャ | 415-555-1234 | 415 | ![]() |
| キャプチャ | 650-555-2345 | 650 | ![]() |
| キャプチャ | (416)555-3456 | 416 | ![]() |
| キャプチャ | 202 555 4567 | 202 | ![]() |
| キャプチャ | 4035555678 | 403 | ![]() |
| キャプチャ | 1 416 555 9292 | 416 | ![]() |
| 解決策 | 電話番号から市外局番を取得するには、式 (\d{3}) を使用して最初の3桁をキャプチャするだけです。 ただし、電話番号全体にも一致させるには、式 1?[\s-]?\(?(\d{3})\)?[\s-]?\d{3}[\s-]?\d{4} を使用できます。これは、国番号 '1?'、キャプチャされた市外局番 '\(?(\d{3})\)?'、残りの数字 '\d{3}' と '\d{4}' に分解されます。 '[\s-]?' は、各コンポーネント間のスペースまたはダッシュをキャッチするために使用します。 |