我的字符串${field.value}
具有值在JavaScript字符串逃逸单引号和双引号
'<table id="tblUserList">
<tbody>
<tr>
<td style="padding: 10px;">some test' and "xyz"</td>
</tr>
</tbody
</table>'
我曾尝试是
escapestring = '${field.value}'
escapestring.replace("'", "\'");
document.getElementById("tblUserList").innerHTML = escapestring ;
错误,它不工作
Uncaught SyntaxError: Invalid regular expression flags
我想在some test' and "xyz"
我试图让string safe for inserting into HTML table.
更新:值从服务器来了,我不能跳过的HTML元素串
的jsfiddle:https://jsfiddle.net/e3jehrc5/1/
任何帮助表示赞赏。
你必须指定一些东西返回'escapestring = escapestring.replace(“'”,“\'”);' – Rajesh
提供一个真正的[MCVE]。你说你正在使用'innerHTML'获取值,但是你的代码示例试图使用一个硬编码的字符串......并且有几个错误会阻止代码编译。你还需要描述你想达到的目标,“逃避”只有在上下文中才有意义。逃避什么?你是否想让字符串安全地插入到SQL中?你是否试图让它安全地插入到JSON中?还有别的吗? – Quentin
拉动刹车......你从“innerHTML'中取出”,所以我假设你有类似'string = element.innerHTML'的东西。在这种情况下,没有什么可以逃脱的。如果你在你的Javascript代码中直接写HTML,你只需要转义字符串,但这与“从innerHTML中提取”有些相反,你需要在你的字符串中做这件事,而不是在'replace '... – deceze