在 JavaScript 中转义 Java 端字符串

escape java side string in javascript

本文关键字:字符串 Java 转义 JavaScript      更新时间:2023-09-26

我有测试.jsp

<script>
var name="<%=testName %>";
</script>

"testName"变量全局声明,它具有价值"javascript:alert("hi");"

在断言包含双引号的值时,它会给出未终止的字符串错误。我试着逃跑了。Java端编码/解码,但仍然存在分配问题。在 JavaScript 或 jquery 中会有什么方法?

您可以通过prepending '来转义引号/字符:

在 JSP 中

<script>
var name="<%=testName.replace('"',''"') %>";
</script>

或在 JS 中

alert(variabl.replace(/"/g, '''"'));

检查将参数传递给带有单引号的函数

简单地尝试

<script>
var name=<%=new Gson().toJson(testName)%>;
</script>

在将它传递给前端之前,我会从后端的字符串中删除任何引号。

但是,如果需要在字符串中保留引号,则应在后端对引号进行转义。

因此,如果前端使用单引号将字符串括起来,则必须在后端转义单引号。

String myString = "my string'''s test";

在前端,它最终会

var text = 'my string'' test';