首页 新闻 赞助 找找看

通过ES6模版字符串怎么实现可变正则?

0
悬赏园豆:10 [待解决问题]

问题描述:网站中需要屏蔽一些URL,使用ES6模板字符串构建正则表达式,用屏蔽的URL做模板变量,但不成功。

 

具体代码如下:

//1、定义屏蔽URL数组
let arrObj=new Array();
arrObj.push("/blog.html#/rccd/notice");
arrObj.push("gift.html");

//2、获取URL
let url=window.location.href;
url=...//处理url,将域名去掉


//3、匹配
let flag=0;
let reg = RegExp(/3/);
let regStr='';

for (var i = 0; i < arrObj.length; i++) {
        regStr=arrObj[i];
        //此处匹配不成功
        reg = RegExp(/`${regStr}`/);
        if(reg.test(url)) {
            flag=1;
            break;
        }
    }

//4、处理跳转
if (flag==1) {
        window.location.href='/notice.html#';
}

 

各位大神,使用

 RegExp(/`${regStr}`/)

怎样实现动态正则表达式?

cxiaoluab的主页 cxiaoluab | 初学一级 | 园豆:26
提问于:2018-08-18 04:22
< >
分享
所有回答(1)
0

我一般是这样写的:reg = new RegExp(`${regStr}`);

不用加/   /这个了,你都用了构造函数的创建方式了,里面就不需要再用字面量了。

你风致 | 园豆:2211 (老鸟四级) | 2018-08-20 09:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册