【发布时间】:2010-10-20 17:01:15
【问题描述】:
JavaScript 是否具有像 PHP 的 addslashes(或 addcslashes)这样的内置函数来为字符串中需要转义的字符添加反斜杠?
例如,这个:
这是一个演示字符串 “单引号”和“双引号”。
...会变成:
这是一个演示字符串 \'单引号\'和 \"双引号\"。
【问题讨论】:
-
“需要转义”是为了什么目的?转义字符串有很多不同的原因,正确的方法可能因目标而异。 (例如,当涉及 SQL 时,PHP 的 addlashes() 通常是错误的解决方案:更好的解决方案是参数化查询)
-
我实际上正在开发一个 Apple Dashboard 小部件,我希望在通过“widget.system”在终端命令中使用之前正确转义我的字符串。
-
@SteveHarrison 这可能不安全。将有办法打破这种情况,实现任意代码执行。 Shell 用它们的输入做一些奇怪的事情。如果您计划传递不受信任的数据,那么避免为
system进行后空翻的唯一方法是使用其他一些允许您传递非转义参数的函数。 -
下面是@Storm 的回答:
Use JSON.stringify。这不是一个很好的选择吗?
标签: javascript string escaping quotes backslash