Javascript 如何使用正则表达式和jQuery匹配字符集中没有的所有内容?
我试图排除除[a-z][a-z][0-9]和[~!#$]之外的所有内容 我认为如果测试发现匹配,它将返回true,因为我包含了插入符号,所以它应该匹配表达式中没有的所有内容 但是像这样的输入是有效的:jAcK%%$21#x 当它不应该工作,因为它有我试图禁止的符号 我哪里出错了Javascript 如何使用正则表达式和jQuery匹配字符集中没有的所有内容?,javascript,jquery,regex,Javascript,Jquery,Regex,我试图排除除[a-z][a-z][0-9]和[~!#$]之外的所有内容 我认为如果测试发现匹配,它将返回true,因为我包含了插入符号,所以它应该匹配表达式中没有的所有内容 但是像这样的输入是有效的:jAcK%%$21#x 当它不应该工作,因为它有我试图禁止的符号 我哪里出错了 谢谢使用match而不是test,因为test是RegExp的函数,而不是String var hasBadInput = !!"jAcK%%$21#x".match(/[^a-zA-Z0-9~!#$]/) //true
谢谢使用
match
而不是test
,因为test是RegExp
的函数,而不是String
var hasBadInput = !!"jAcK%%$21#x".match(/[^a-zA-Z0-9~!#$]/) //true
或者改变立场
(/[^a-zA-Z0-9~!#$]/).test("jAcK%%$21#x") //returns true
使用
match
而不是test
,因为test是RegExp
的函数,而不是String
var hasBadInput = !!"jAcK%%$21#x".match(/[^a-zA-Z0-9~!#$]/) //true
或者改变立场
(/[^a-zA-Z0-9~!#$]/).test("jAcK%%$21#x") //returns true
应该在正则表达式上调用
var$name=$(“#name”);
$name.on(“键控”,函数(e){
如果(/[^a-zA-Z0-9~!#$]/.test($name.val())){
控制台日志(“Nope”);
返回false;
}否则{
控制台日志(“良好”);
}
})
应在正则表达式上调用
var$name=$(“#name”);
$name.on(“键控”,函数(e){
如果(/[^a-zA-Z0-9~!#$]/.test($name.val())){
控制台日志(“Nope”);
返回false;
}否则{
控制台日志(“良好”);
}
})
我从未见过任何代码>在javascript之前…这不是真的吗
逻辑?@aswzen它将一个值强制为其布尔等价值。我从未见过任何代码>在javascript之前…这是不是不正确
逻辑?@aswzen它强制将一个值转换为其布尔等价值。