我正在尝试更改[ ', ", \ ]
等特定字符,因为我在INSERT期间遇到了问题。例如,字符串I'm saying "Hi"
将为I\'m saying \"Hi\"
。所以基本上这种方法是在角色前添加backslash
。但我不确定如何用正则表达式做到这一点。
我正在考虑使用IndexOf
执行此操作,但是当我将backslash
添加到字符串时,字符串的索引会更改。
知道怎么做吗?
答案 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