Javascript-如果string包含不匹配正则表达式的任何字符,则String.search()返回true

时间:2019-11-19 05:06:15

标签: javascript

我正在尝试搜索与正则表达式不匹配的字符串中的字符:

password.search(/[`!@@#$%^&*A-Za-z0-9]/i));. 

基本上,不允许所有不是此正则表达式的字符,我想知道用户是否输入了不允许的任何字符。例如'\'或其他我可能不会想到的字符。

我很确定某个地方存在与此类似的问题,但是尽管试图寻找它,但令人惊讶的是却找不到它。如果这是一个重复的问题,请链接我。

2 个答案:

答案 0 :(得分:0)

如果要排除一组字符(例如某些标点符号),则可以在正则表达式的字符集开头使用^运算符。

答案 1 :(得分:0)

根据this answer,您可以使用?!

console.log("valid$\\".search(/(?![`!@@#$%^&*A-Za-z0-9])/i));
console.log("256)128".search(/(?![`!@@#$%^&*A-Za-z0-9])/i));