正则表达式始终返回true

时间:2013-07-16 06:15:12

标签: javascript jquery regex

我在JQuery中遵循正则表达式。它总是返回true。

var reg = new RegExp("[a-zA-Z0-9 ,]+");
var key = $('#keyId').val().trim();
if (key.match(reg)) {
  $("#TitleError").hide();
}
else {
  $("#TitleError").text("special characters not allowed!!").show();

}

对所有内容都返回true,例如“ABCD,^&&& ^&”应该是假的,它返回true。

2 个答案:

答案 0 :(得分:5)

match返回字符串中找到的匹配项。你真正想要的是test例如。像这样

/^[a-zA-Z0-9 ,]+$/.test(key)
or 
reg.test(key)

答案 1 :(得分:2)

你的regexp应该是:

var reg = new RegExp('^[a-zA-Z0-9 ,]+$');