javascript regex decode atob

时间:2016-04-23 15:04:51

标签: javascript regex string encoding base64

我通过正则表达式在Javascript中制作了亵渎过滤器,但我不希望在我的代码中显示禁止的单词,所以我使用btoa对正则表达式进行编码;但是当我使用atob对其进行解码时,正则表达式不会产生任何影响。任何人都可以帮忙???

var test = btoa('/poop|smelly/ig');
var decode = atob(test);
alert(decode); // just to show that it works

这是正则表达式的编码和解码代码。但是当我运行正则表达式时它似乎不起作用???

1 个答案:

答案 0 :(得分:1)

这不起作用,因为您实际上已将正则表达式转换为字符串,这与正则表达式文字对象不同。

您可以使用RegExp构造函数从字符串创建正则表达式。



var test = btoa('poop|smelly');
var decode = new RegExp(atob(test), 'ig');
alert(decode.test('smelly'));
alert(decode.test('unfiltered'));