在Javascript中使用regex或indexOf更改字符串中的特定字符(转义字符)

时间:2015-08-27 02:35:08

标签: javascript regex indexof

我正在尝试更改[ ', ", \ ]等特定字符,因为我在INSERT期间遇到了问题。例如,字符串I'm saying "Hi"将为I\'m saying \"Hi\"。所以基本上这种方法是在角色前添加backslash。但我不确定如何用正则表达式做到这一点。

我正在考虑使用IndexOf执行此操作,但是当我将backslash添加到字符串时,字符串的索引会更改。

知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

这应该完全符合您的要求:

str = 'I\'m saying "Hi" \\ abc';
str = str.replace(/\\/g, '\\\\').replace(/(['"])/g, '\\$1');

但是如果您使用的是SQL,我会真正研究准备好的语句:https://github.com/felixge/node-mysql#escaping-query-values