Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript字符串中的转义字符_Javascript_Escaping - Fatal编程技术网

javascript字符串中的转义字符

javascript字符串中的转义字符,javascript,escaping,Javascript,Escaping,我认为javascript中转义引号字符是通过使用另一种引号样式来完成的 "xxx ' yyy" 或 或者使用反斜杠引用它们 'xxx \' yyy\' 或 但这似乎对我目前正在研究的问题不起作用 我想在生成的HTML中输入的代码是: <input type="text" value="MyValue" name="MyName" onChange="MyFunction(this, 0, 99999, ['XXX', this.value, 'YYY']);"> i

我认为javascript中转义引号字符是通过使用另一种引号样式来完成的

"xxx ' yyy"

或者使用反斜杠引用它们

'xxx \' yyy\'

但这似乎对我目前正在研究的问题不起作用

我想在生成的HTML中输入的代码是:

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

<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之前,它需要解析嵌入其中的HTML

使用HTML实体
,您会没事的

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

为什么不将其拆分: innerHTML='+'AMP&']);“+'”>

这让我觉得你的设计有问题,你可能想重新思考你在做什么

例如,您应该使用DOM函数执行此操作,这样问题就会变得更简单,而不是尝试在innerHTML中执行所有这些操作。

为什么不将其分解: innerHTML='+'AMP&']);" + '">';

这让我觉得你的设计有问题,你可能想重新思考你在做什么


例如,您应该使用DOM函数执行此操作,这样问题就变得简单了,而不是尝试在innerHTML中执行所有这些操作。

在xml/html属性中,应转义符号<和>;在xml/html属性中,应转义符号<和>:和

问题是您需要两次转义代码。首先需要对字符进行转义以将其放入Javascript字符串文本中,然后必须对整个Javascript代码进行HTML编码以将其放入HTML标记的onclick属性中

首先,在Javascript中对字符串进行编码,如下所示:

MyFunction(this, 0, 99999, ['XXX', this.value, 'SQ\' DQ" LT< GT> AMP&']);
MyFunction(this,099999,['XXX',this.value,'SQ\'DQ“LTAMP&');
然后对整个脚本进行HTML编码。在这种情况下,字符串中只有需要编码的字符:

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

问题是需要对代码进行两次转义。首先需要转义字符以将其放入Javascript字符串文本中,然后必须对整个Javascript代码进行HTML编码以将其放入HTML标记的onclick属性中

首先,在Javascript中对字符串进行编码,如下所示:

MyFunction(this, 0, 99999, ['XXX', this.value, 'SQ\' DQ" LT< GT> AMP&']);
MyFunction(this,099999,['XXX',this.value,'SQ\'DQ“LTAMP&');
然后对整个脚本进行HTML编码。在这种情况下,字符串中只有需要编码的字符:

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

+1-我没有清楚地思考他在做什么,我太专注于他写的东西,你对实体的建议更好。+1-我没有清楚地思考他在做什么,我太专注于他写的东西,你对实体的建议更好。
MyFunction(this, 0, 99999, ['XXX', this.value, 'SQ\' DQ" LT< GT> AMP&']);
<input type="text" value="MyValue" name="MyName"
   onChange="MyFunction(this, 0, 99999,
   ['XXX', this.value, 'SQ\' DQ&quot; LT&lt; GT&gt; AMP&amp;']);">