7

次の形式の電話番号に最適な HTML5 パターンがあります。

111-222-3333
111 222 3333
(777)-888-9999
(777)888-9999

しかし、ユーザーが入力した場合

(777-999-9999

検証に合格します。理想的には、括弧が明らかに閉じられていないため、これでエラーをスローしたいと思います。これが私のパターンです:

pattern="^\(?\d{3}\)?[- ]?\d{3}[- ]?\d{4}$"

私が間違っていることについてのアイデアはありますか?私はこれで何時間も頭を壁にぶつけていました。ありがとう!

4

1 に答える 1

16

2 つの括弧のオプションは、互いに独立しています。代替を使用します。

pattern="(?:\(\d{3}\)|\d{3})[- ]?\d{3}[- ]?\d{4}"
于 2013-09-18T03:39:18.670 に答える