我想显示一个格式如下的字符串:
("Cats"meow's, Jr.)
问题是,我无法找到在 JavaScript 中的 Replace() 函数中运行此字符串的方法,因为使用 ( 或 ' 或 "都会干扰其中一个特殊字符。该字符串来自 JSP变量 ${displayName}。以下是引发“意外标识符”错误的一些尝试:
var displayName = JSON.stringfy("${displayName}");
var displayName = "${displayName}".replace(/"/g, '"');
var displayName = '${displayName}'.replace(/"/g, '"');
var displayName = ${displayName}.replace(/"/g, '"');
var displayName = (${displayName}).replace(/"/g, '"');
以上都不起作用,尝试一下字符串,包括 (.encodeURI 似乎也不起作用,而且这没有用,因为我想要 HTML 转义字符而不是 URL。
最佳答案
问题是您正在尝试访问 JavaScript 上下文中的 JSP 变量。
您可以在隐藏的 div
中打印变量的内容,如下所示:
<div id="displayName" style="display: none"><%= displayName %></div>
然后在 JavaScript 中访问它,如下所示:
var displayName = document.getElementById("displayName").innerHTML;
并用它来进行所需的替换。
关于javascript - 将 ' 和 ( 字符替换为 JS 中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25894941/