单引号没有在javascript中被替换?

时间:2017-09-26 20:26:11

标签: javascript regex

我正在尝试从文本输入中清除引号。现在我的代码是:

string = string.replace(/'/g, '\'');
string = string.replace(/"/g, '\"');

我的输出已经替换了所有双引号,但单引号仍然存在。我对我的正则表达式相当自信,之前没有使用替换函数的问题。 mySQLdb是否有可能弄乱这个?我发布它然后几乎立即后。这看起来像是一个简单的问题,但它确实让我感到难过

1 个答案:

答案 0 :(得分:3)

您的替换是空操作,因为反斜杠由字符串文字本身消耗,并且不存在于实际字符串值中。

而是转义反斜杠以在字符串中真正得到一个:

string = string.replace(/'/g, "\\'");
string = string.replace(/"/g, '\\"');

您当然可以在一次操作中执行此操作:

string = string.replace(/(['"])/g, "\\$1");
相关问题