正则表达式 - “['!@#$%*] [()= _ + {}:\”;?,。\ / A-Za-z0-9 \ s-]“允许<和>字符

时间:2018-02-02 01:39:19

标签: javascript regex

RegEx下面允许< >

functionA = function () 
{ 
    var value = "sdfhf$#%##<>*"; 
    var val = new RegExp("['!@#$%*\]\[()=_+{}:\";?,.\/\A-Za-z0-9\s-]"); 
    return val.test(value); 
}

1 个答案:

答案 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());