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

问题描述 投票:0回答:2

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

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

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

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

javascript
2个回答
0
投票

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

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

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.