3

重複の可能性:
電話番号検証のための包括的な正規表現

私は必要な完全な正規表現にかなり近いです。ただし、オプションの空白を許可できないようです。

正規表現

^(\(?\d{3}\)?\-?\d{3}\-?\d{4})$

要件-これら4つのみ

111-111-1111-作品

(111)111-1111-作品

(111)111-111-キャプチャしません

1111111111-作品

括弧の後にオプションのスペースを追加するにはどうすればよいですか?

4

4 に答える 4

5
^(\(?\d{3}\)*\s?\-?\d{3}\-?\d{4})$

* \ sは、0または1の空白文字を意味します。

編集: 実際には、ダッシュまたはスペースのいずれかを許可しますが、両方を許可しないため、このバージョンの方が好きです。また、 ?0または1を意味し、*は0以上を意味します。

^(\(?\d{3}\)?[\s,\-]?\d{3}\-?\d{4})$
于 2012-10-01T19:06:01.747 に答える
4

、、、、、およびそれらのすべての組み合わせに\(?\b[0-9]{3}\)?[-. ]?[0-9]{3}[-. ]?[0-9]{4}\b一致するもの3334445555はどうですか。333.444.5555333-444-5555333 444 5555(333) 444 5555

更新しました

REGEXの制限に直面しているので、醜い解決策は実際には次のとおりです。

(\d{3}-\d{3}-\d{4}|\(\d{3}\)\s?\d{3}-\d{4}|\d{10})

于 2012-10-01T19:06:39.733 に答える
1

次の3つの式全体のいずれかに一致させる方がよい場合があります。

^(\d{11}|(\d{3}-){2}\d4|\(\d{3}\) ?\d\d\d-\d\d\d)$

于 2012-10-01T19:24:21.147 に答える
0

フォーマットに基づいて正規表現を扱うのではなく、入力された数字を扱います。この質問は、採用する可能性が高い回答を示しています。

電話番号検証のための包括的な正規表現

于 2012-10-01T19:09:26.433 に答える