转义Javascript字符串,Unterminated字符类错误

时间:2014-07-29 02:45:15

标签: javascript regex escaping

我一直收到以下错误

Uncaught SyntaxError: Invalid regular expression: /$_POST['/: Unterminated character class 

我搜索了一些线程,他们都指出了我在没有正确转义字符串的事实。 我将一个php文件作为字符串加载到一个javascript var中,然后我搜索了下面的内容,但是我试图逃避没有成功。

根据List of all characters that should be escaped before put in to RegEx?

这些都是我相信需要逃避的角色。

. \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

以下是让我失望的代码snipets。 (这是干净的代码,一切都需要逃避)

var n = data.search("$_POST['");
n = res.search("'];");
n = data.search("//hurdle{"); 
n = res.search("}");

如果有人能告诉我如何正确地做到这一点,我们将非常感激。谢谢

2 个答案:

答案 0 :(得分:2)

你需要逃避美元和括号:\$\[\]

例如:

arrayOfMatches = yourString.match(/\$_POST\['/g);

答案 1 :(得分:0)

首先表达

data.search(/\$_POST\['/)