javascript - 转义字符串,以便可以在 javascript 中安全使用
问题描述
我有一个生成 html 的 javascript 模板引擎,全部在浏览器中运行。它是 lodash。
模板如下所示(仅相关部分):
<button onclick="somemethod('<%pruefobjekt.Name%>')"
</button>
问题:如果pruefobjekt.Name的值中有 ',则生成的 javascript 无效。我试过encodeURI,但这不会取代 '.
有没有一个javascript函数呢?还是一个lodash函数?我知道我可以简单地将 ' 替换为某个符号,然后将其替换回来,但这是最后的解决方案。
换句话说,问题是:是否有一个 javascript 函数可以转义字符串,以便可以在 javascript 中使用。
非常感谢你的回答。
解决方案
像下面这样的东西对你有用吗?如果您可以使用正则表达式。
function escapeString( str ) {
return (str + '').replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');
}
否则 Javascript 具有称为 stringify 的内置方法。
JSON.stringify('String with "quotes"')
结果
"String with \"quotes\""
希望这可以帮助
推荐阅读
- django - 如何查询多个 Django 模型
- javascript - Popovers dissapear on 'onClick' event
- python - Pandas 向数据框添加列
- xml - How to compare id in XML file
- ssis - SSIS 包运行时
- java - after a interval send different response from a rest endpoint url
- python - Cloudant python 库是否在无服务器函数执行之间缓存数据库?
- python - ImportError:运行 Windows 可执行文件后没有名为 face_recognition 的模块。
- python - Google AppEngine 上的内容安全政策问题
- html - 用户上传图片到服务器,图片设置为 div 的背景图片