我通过正则表达式在Javascript中制作了亵渎过滤器,但我不希望在我的代码中显示禁止的单词,所以我使用btoa
对正则表达式进行编码;但是当我使用atob
对其进行解码时,正则表达式不会产生任何影响。任何人都可以帮忙???
var test = btoa('/poop|smelly/ig');
var decode = atob(test);
alert(decode); // just to show that it works
这是正则表达式的编码和解码代码。但是当我运行正则表达式时它似乎不起作用???
答案 0 :(得分:1)
这不起作用,因为您实际上已将正则表达式转换为字符串,这与正则表达式文字对象不同。
您可以使用RegExp
构造函数从字符串创建正则表达式。
var test = btoa('poop|smelly');
var decode = new RegExp(atob(test), 'ig');
alert(decode.test('smelly'));
alert(decode.test('unfiltered'));