替换'和(JS中有特殊字符的字符

时间:2014-09-17 15:43:19

标签: javascript regex jsp

我有一个我想要显示的字符串,其格式如下:

("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, '"');

以上都没有,请尝试输出字符串,包括(.civitURI似乎也不起作用,并且这没用,因为我想要HTML转义字符而不是URL。

2 个答案:

答案 0 :(得分:0)

问题是您正在尝试访问JavaScript上下文中的JSP变量。

您可以在隐藏的div内打印变量的内容,如下所示:

<div id="displayName" style="display: none"><%= displayName %></div>

然后在JavaScript中访问它,如:

var displayName = document.getElementById("displayName").innerHTML;

并使用它来进行所需的替换。

答案 1 :(得分:0)

我最终选择用JSP替换字符串,因为将它包装在JS中并没有显着的工作。这是答案:

<c:out value="${displayName}" escapeXml="true"/>