javascript - 正则表达式总是返回 true

标签 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, ^&&&^&”应该是 false,它返回 true。

最佳答案

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

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

关于javascript - 正则表达式总是返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17669304/

相关文章:

javascript - 增加任意位置固定

javascript - 在javascript中将java列表转换为数组

javascript - 更改 CSS 以使用 jQuery 切换

javascript - 验证表单和字段验证的两个事件

ios - 从 url 字符串中获取最后一个 '/'(斜杠)之后的所有字符

javascript - 创建多个函数

javascript - 工厂中的 AngularJS $scope

jquery - 文本区域的自动完成弹出窗口

javascript - 删除字符串中第四个空格后的所有字符

正则表达式问题通过 curl 向 Varnish 服务器发送 BAN 请求