背景:
日常普通的搜索功能,直接就用js的match进行字符匹配就好了,但是,忽略了处理特殊字符的情况。
当你搜索 ^ . 等,match没匹配上,\ ? 会直接报错。
当遇到上面情况的时候,我们需要对特殊字符进行处理。
let searchString;
const regex = searchString.replace(/[/\-\\^$*+?.()|[\]{}]/g, '\\$&');
result.match(regex);
将特殊字符做一层转义,再进行match,结果就正确了。