JavaScript 特殊字符

插入特殊字符

反斜杠用来在文本字符串中插入省略号、换行符、引号和其他特殊字符。

请看下面的 JavaScript 代码:

"Vikings"

在 JavaScript 中,字符串使用单引号或者双引号来起始或者结束。这意味着上面的字符串将被截为:We are the so-called。

要解决这个问题,就必须把在 "Viking" 中的引号前面加上反斜杠 (\)。这样就可以把每个双引号转换为字面上的字符串。

\"Vikings\"

现在 JavaScript 就可以输出正确的文本字符串了:We are the so-called "Vikings" from the north。

这是另一个例子:

\&

上面的例子会产生以下输出:

You & me are singing!

下面的表格列出了其余的特殊字符,这些特殊字符都可以使用反斜杠来添加到文本字符串中:

代码

输出

\'

单引号

\"

双引号

\&

和号

\\

反斜杠

\n

换行符

\r

回车符

\t

制表符

\b

退格符

\f

换页符


JavaScript基础 输出含有双引号/单引号的字符串

code1:

1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 5     <title></title>
 6     <script type="text/javascript">
 7         var str1 = '含有双引号的字符串""';
 8         var str2 = "含有单引号的字符串''";
 9         document.write(str1);
10         document.write(str2);
11     </script>
12 </head>
13 <body>
14 
15 </body>
16 </html>

result1:

javascript 双引号 转义字符 js处理双引号转义问题_javascript 双引号 转义字符

 

 code2:

1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 5     <title></title>
 6     <script type="text/javascript">
 7         var str0 = "\"";//转义字符,输出双引号
 8         //在双引号包裹的字符串内输出双引号
 9 
10         var str1 = '\'';//使用转义字符,输出单引号
11 
12         document.write(str0);
13         document.write(str1);
14     </script>
15 </head>
16 <body>
17 
18 </body>
19 </html>

result2:

javascript 双引号 转义字符 js处理双引号转义问题_javascript_02


在一个网页中,对特殊字符的转义,就需要确认是属于JavaScript语法,还是html语法。

先看个JavaScript中双引号的用法:

<script type=”text/javascript”>
alert(“\”我来自亲亲宝宝wenhq.com\””);
</script>

在一个网页中的按钮,写onclick事件的处理代码:

<input value=”Test” type=”button””OK””);” />
IE提示出错后,再改为:
<input value=”Test” type=”button”OK\”);” />

结果还是出错。

这时,我就想不通了,虽然我知道最直接的解决方法是写成这样:

<input value=”” type=”button” />

但为什么javascript中的转义字符\没有效果了呢?

后来找到一段正常的代码:

<input value=”Test” type=”button” />

这时才理解,原来这时,还是归于HTML的管辖范围,所以转义字符应该使用HTML的,而不是javascript的。两个双引号的做法是vbScript的,\”这种做法则是javascript的,而HTML的,则是用&quot;,此外还可以使用:”、’。

下面列出各种表达方法:

<html>
<body>
<input value=”外双引号内双引号-错误” οnclick=”alert(“OK”);” /><br />
<input value=”外单引号内单引号-错误” οnclick=’alert(‘OK’);’ /><br />
<input value=”两个双引号-错误” οnclick=”alert(“”OK””);” /><br />
<input value=”两个单引号-错误” /><br />
<input value=”\+双引号-错误” οnclick=”alert(\”OK\”);” /><br />
<input value=”\+单引号-错误” /><br />
<input value=”外双引号内单引号-OK” type=”button” /><br />
<input value=”外单引号内双引号-OK” type=”button” οnclick=’alert(“OK”);’ /><br />
<input value=”外部不使用引号-OK” type=”button”(‘OK’);alert(“OK”); /><br />
<input value=”HTML转义字符"(& q u o t ;)-OK” οnclick=”alert("OK");” /><br />
<input value=”HTML转义字符'(& a p o s ;)-IE错误” οnclick=”alert('OK');” /><br />
<script type=”text/javascript”>
alert(“\”我来自亲亲宝宝wenhq.com\””);
</script>
</body>
</html>

在一个网页中,对特殊字符的转义,就需要确认是属于JavaScript语法,还是html语法。

先看个JavaScript中双引号的用法:

<script type=”text/javascript”>
alert(“\”我来自亲亲宝宝wenhq.com\””);
</script>

在一个网页中的按钮,写onclick事件的处理代码:

<input value=”Test” type=”button””OK””);” />

IE提示出错后,再改为:

<input value=”Test” type=”button”OK\”);” />

结果还是出错。

这时,我就想不通了,虽然我知道最直接的解决方法是写成这样:

<input value=”” type=”button” />

但为什么javascript中的转义字符\没有效果了呢?

后来找到一段正常的代码:

<input value=”Test” type=”button” />

这时才理解,原来这时,还是归于HTML的管辖范围,所以转义字符应该使用HTML的,而不是javascript的。两个双引号的做法是vbScript的,\”这种做法则是javascript的,而HTML的,则是用&quot;,此外还可以使用:”、’。

下面列出各种表达方法:

<html>
<body>
<input value=”外双引号内双引号-错误” οnclick=”alert(“OK”);” /><br />
<input value=”外单引号内单引号-错误” οnclick=’alert(‘OK’);’ /><br />
<input value=”两个双引号-错误” οnclick=”alert(“”OK””);” /><br />
<input value=”两个单引号-错误” /><br />
<input value=”\+双引号-错误” οnclick=”alert(\”OK\”);” /><br />
<input value=”\+单引号-错误” /><br />
<input value=”外双引号内单引号-OK” type=”button” /><br />
<input value=”外单引号内双引号-OK” type=”button” οnclick=’alert(“OK”);’ /><br />
<input value=”外部不使用引号-OK” type=”button”(‘OK’);alert(“OK”); /><br />
<input value=”HTML转义字符"(& q u o t ;)-OK” οnclick=”alert("OK");” /><br />
<input value=”HTML转义字符'(& a p o s ;)-IE错误” οnclick=”alert('OK');” /><br />
<script type=”text/javascript”>
alert(“\”我来自亲亲宝宝wenhq.com\””);
</script>
</body>
</html>