0

6〜255の長さの英数字のjQuery正規表現があり、角かっこ「()」およびアンダースコア、コンマ、ハイフンなどの他の文字を確認したい

/^[A-Za-z0-9,., ,_,-,\(\)]{6,255}$/

しかし、角かっこに関しては何か問題があり、セキュリティの観点からは良くないスクリプト値も受け入れています。

以下のコメントでよりよく説明しているように、いくつかの文字列は問題ありません。

ABCDEF
ABCDEFG
abcdef
0123456789
a.b.c.d.e
., _-()

うまくいかないいくつかの文字列

ABC
ABCDEF(
Abcdef(ghi
abcde)fgh

(最後の2つは、角かっこが一致していないため、問題ありません)

4

1 に答える 1

0
/(?=^([^()]*\([^()]*\))*[^()]*$)^[A-Za-z0-9,. _()-]{6,255}$/;

チェックの回数が多すぎて、最後の文字にするか、エスケープ,する必要があります ( )。それ以外の場合は、範囲として使用されます ( )-\-A-Z

(すべてにがあり)、すべてに があることをテストする事前チェックを追加しまし)(。それは動作し(())ません (2 レベルの括弧)

ここでテスト: http://jsbin.com/epiroh/8/editおよびhttp://gskinner.com/RegExr/?2uuab

于 2011-10-14T07:12:44.840 に答える