我知道在 HTML 中转义特殊字符。
但是,我仍然遇到这种情况,所以我仍然在问这个问题。
我有一个 JSP,其中不允许我对输入进行验证。用户正在输入特殊字符进行测试。
输入字符串:
'#@$%
当我从数据库显示时,我正在使用
<%= StringEscapeUtils.escapeHtml(map[i].get("text").toString())%>
其中“map”是一个Hashmap数组。这很好用。
当我需要将这个字符串传递给 JavaScript 时,问题就来了
<input type="Button"
onclick="onEdit('<%= StringEscapeUtils.escapeHtml(map[i].get("text").toString())%>',
'<%= strShortCut%>','<%= map[i].get("uid")%>')" value="Edit">
字符串变为''#@$%'
。
如何转义单引号?
最佳答案
如果您要使用 Java,也许您可以用 Java 执行以下操作。
import org.apache.commons.lang.StringEscapeUtils;
...
String result = StringEscapeUtils.escapeJavaScript(jsString);
关于javascript - 使用 JavaScript 转义单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11556043/