带括号的字母数字的正则表达式()

时间:2011-10-14 07:10:00

标签: javascript jquery regex alphanumeric

我有一个jQuery正则表达式,长度为6到255的字母数字,我想检查括号“()”和其他字符,如下划线,逗号,连字符,

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

但是在括号方面它有问题,它也接受在安全性方面不好的脚本值

正如我在下面的评论中更好地解释,一些字符串是好的:

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

一些不正常的字符串

ABC
ABCDEF(
Abcdef(ghi
abcde)fgh

(最后两个不合适,因为括号不匹配)

1 个答案:

答案 0 :(得分:0)

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

您为,检查了太多次,-必须是最后一个字符或被转义(\-),否则它被用作范围(A-Z

我添加了一个预检,以测试所有(都有),所有)都有(。它赢得了“(())(两级括号)

的工作

在此处测试:http://jsbin.com/epiroh/8/edithttp://gskinner.com/RegExr/?2uuab