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