重複の可能性:
電話番号検証のための包括的な正規表現
私は必要な完全な正規表現にかなり近いです。ただし、オプションの空白を許可できないようです。
正規表現
^(\(?\d{3}\)?\-?\d{3}\-?\d{4})$
要件-これら4つのみ
111-111-1111-作品
(111)111-1111-作品
(111)111-111-キャプチャしません
1111111111-作品
括弧の後にオプションのスペースを追加するにはどうすればよいですか?
重複の可能性:
電話番号検証のための包括的な正規表現
私は必要な完全な正規表現にかなり近いです。ただし、オプションの空白を許可できないようです。
正規表現
^(\(?\d{3}\)?\-?\d{3}\-?\d{4})$
要件-これら4つのみ
111-111-1111-作品
(111)111-1111-作品
(111)111-111-キャプチャしません
1111111111-作品
括弧の後にオプションのスペースを追加するにはどうすればよいですか?
^(\(?\d{3}\)*\s?\-?\d{3}\-?\d{4})$
* \ sは、0または1の空白文字を意味します。
編集: 実際には、ダッシュまたはスペースのいずれかを許可しますが、両方を許可しないため、このバージョンの方が好きです。また、 ?0または1を意味し、*は0以上を意味します。
^(\(?\d{3}\)?[\s,\-]?\d{3}\-?\d{4})$
、、、、、およびそれらのすべての組み合わせに\(?\b[0-9]{3}\)?[-. ]?[0-9]{3}[-. ]?[0-9]{4}\b
一致するもの3334445555
はどうですか。333.444.5555
333-444-5555
333 444 5555
(333) 444 5555
更新しました
REGEXの制限に直面しているので、醜い解決策は実際には次のとおりです。
(\d{3}-\d{3}-\d{4}|\(\d{3}\)\s?\d{3}-\d{4}|\d{10})
次の3つの式全体のいずれかに一致させる方がよい場合があります。
^(\d{11}|(\d{3}-){2}\d4|\(\d{3}\) ?\d\d\d-\d\d\d)$
フォーマットに基づいて正規表現を扱うのではなく、入力された数字を扱います。この質問は、採用する可能性が高い回答を示しています。