RegEx下面允许< >
functionA = function ()
{
var value = "sdfhf$#%##<>*";
var val = new RegExp("['!@#$%*\]\[()=_+{}:\";?,.\/\A-Za-z0-9\s-]");
return val.test(value);
}
答案 0 :(得分:1)
val.test(value)
测试正则表达式是否匹配字符串中的 where 。它返回true
,因为正则表达式匹配字符串的第一个字符。它与<>
字符不匹配,请参阅here。
如果要测试整个字符串,则需要重复正则表达式并将其锚定在两端:
functionA = function ()
{
var value = "sdfhf$#%##<>*";
var val = /^['!@#$%*\]\[()=_+{}:\";?,.\/\A-Za-z0-9\s-]*$/;
return val.test(value);
}
console.log(functionA());
或者您可以反转字符集和测试感:
functionA = function ()
{
var value = "sdfhf$#%##<>*";
var val = /[^'!@#$%*\]\[()=_+{}:\";?,.\/\A-Za-z0-9\s-]/;
return !val.test(value);
}
console.log(functionA());