JS 正则表示式 字符串匹配 忽略大小写

在项目中遇到了需要使用字符串进行正则匹配,同时还要忽略大小写
可以按照以下方法:
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
posted @ 2021-02-24 12:00  醒日是归时  阅读(4398)  评论(0编辑  收藏  举报