我有一个生成html的javascript模板引擎,所有运行都在浏览器中运行。这是lodash。
模板看起来像这样(只是相关部分):
<button onclick="somemethod('<%pruefobjekt.Name%>')"
</button>
问题:如果 pruefobjekt.Name 有一个&#39;在其值中,则生成的javascript无效。我尝试了 encodeURI ,但这不会取代&#39;。
是否有javascript函数?还是lodash功能?我知道我可以简单地取代&#39;用一些符号然后将其替换回来,但这是最后的解决方案。
这个问题换句话说:是否有一个javascript函数可以转义字符串,因此可以在javascript中使用。
非常感谢您的回答。
答案 0 :(得分:1)
下面的一些东西对你有用吗?如果你可以使用正则表达式。
function escapeString( str ) {
return (str + '').replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');
}
或者Javascript有一个名为stringify的内置方法。
JSON.stringify('String with "quotes"')
结果
"String with \"quotes\""
希望这有帮助