5

我在 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,^&&&^&”应该为false,它返回true。

4

2 回答 2

6

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

/^[a-zA-Z0-9 ,]+$/.test(key)
or 
reg.test(key)
于 2013-07-16T06:18:52.870 回答
3

你的正则表达式应该是:

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

于 2013-07-16T06:17:20.033 回答