项目中需要前端进行模糊搜索时,需要对用户输入的内容先进行一次特殊字符的转义处理处理,我的处理方式如下:
// ......
let searchText = '' // 搜索框中输入的内容
// 输入的文本中包含以下特殊字符时需要先进行转义
// 注:要先替换 \ ,否则会将前面已转义的字符中的\再次进行转义
let specialCharacter = ['\\', '$', '(', ')', '*', '+', '.', '[', '?', '^', '{', '|']
specialCharacter.map(v => {
let reg = new RegExp('\\' + v, 'gim')
searchText = searchText.replace(reg, '\\' + v)
})
// 将输入的文本处理好之后就可以根据具体的业务需求写模糊匹配的正则了
// ......
常用正则表达式参考:https://c.runoob.com/front-end/854