我正在尝试搜索不匹配正则表达式的字符串中的字符:
password.search(/[`!@@#$%^&*A-Za-z0-9]/i));.
基本上,所有不是此正则表达式的字符都是不允许的,我想知道用户是否输入了不允许的任何字符。例如'\'或其他我可能不会想到的字符。
我很确定在某个地方存在与此类似的问题,但是尽管试图寻找它,但我惊讶地找不到它。如果这是一个重复的问题,请链接我。
根据this answer,您可以使用?!
:
console.log("valid$\\".search(/(?![`!@@#$%^&*A-Za-z0-9])/i));
console.log("256)128".search(/(?![`!@@#$%^&*A-Za-z0-9])/i));
如果您想排除一组字符(例如某些标点符号),则可以在正则表达式的字符集开头使用^
运算符。