我的字符串${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