在项目中遇到了需要使用字符串进行正则匹配,同时还要忽略大小写
可以按照以下方法:
1 先使用new RegExp(newVal, ‘i’)生成需要匹配的规则,其中 ‘i’ 表示忽略大小写
2 再对相应的字符串进行匹配
string.search(new RegExp(newVal, 'i')) !== -1
这样的写法在匹配正则表达式的特殊符号是会报错,因此需要改成下面的形式,将特殊符号进行转义处理
string.search(new RegExp(newVal.trim().replace(/([,.+?:()*\[\]^$|{}\\-])/g, '\\$1'), 'i')) !== -1