gpt4 book ai didi

javascript - JavaScript 字符串中的转义字符

转载 作者:行者123 更新时间:2023-11-28 16:39:50 24 4
gpt4 key购买 nike

我认为在 javascript 中转义引号字符是通过使用其他样式的引号来完成的

"xxx ' yyy"

'xxx " yyy'

或使用反斜杠引用它们

'xxx \' yyy\'

"xxx \" yyy"

但这似乎不适用于我目前正在解决的问题。

我想要放入生成的 HTML 中的代码是:

<input type="text" value="MyValue" name="MyName" 
onChange="MyFunction(this, 0, 99999, ['XXX', this.value, 'YYY']);">

问题是字符串 YYY 需要什么转义?

我认为转义单引号 (') 就可以了,但是我还需要转义双引号 ("),因为它是 onChange 代码的外部包装器。

假设我想要的 YYY 字符串是:

SQ' DQ" LT< GT> AMP&

所以我尝试输出

<input type="text" value="MyValue" name="MyName" 
onChange="MyFunction(this, 0, 99999,
['XXX', this.value, 'SQ\' DQ\" LT< GT> AMP&']);">

但是 FireFox 认为“<”破坏了代码

最终,为了让 FireFox 满意,我不得不使用

SQ\' DQ\x22 LT\x3C GT\x3E AMP\x26

<input type="text" value="MyValue" name="MyName"
onChange="MyFunction(this, 0, 99999,
['XXX', this.value, 'SQ\' DQ\x22 LT\x3C GT\x3E AMP\x26']);">

这比我预想的要逃脱得多。真的有必要吗,还是我错过了一些更直接的东西?

谢谢。

最佳答案

您在错误的级别上转义 - 在解析 javascript 之前,它需要解析嵌入的 HTML。

使用 HTML 实体 "<> 就可以了。

<input type="text" onChange="MyFunction(... ['&quot; &lt; &gt; &quot;']);">

关于javascript - JavaScript 字符串中的转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1527503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com