2016-04-23 23 views
0

我已經通過正則表達式在Javascript中做了一個褻瀆filter但是我不希望有禁止的話出現在我的代碼中,所以我用btoa來編碼正則表達式;然而,當我使用atob對其解碼時,正則表達式不起任何作用。任何人都可以幫助嗎?javascript正則表達式解碼atob

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

這裏是正則表達式的編碼和解碼代碼。但是當我運行正則表達式它似乎不工作?

+3

褻瀆濾波器不是客戶端的工作。 –

+0

包括一個例子至少 – rock321987

+0

我知道@CasimiretHippolyte – antipanchi

回答

1

這不起作用,因爲你實際上已經將你的正則表達式轉換爲一個字符串,它與正則表達式字面值對象不同。

您可以使用RegExp構造函數從字符串中創建正則表達式。

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