javascript单引号和双引号的区别和处理

单引号和双引号其实没啥区别,看你自己习惯了


代码如下:

<input type="button" onclick="alert("1")">-------------------不正确
<input type="button" onclick="alert('1')">-------------------正确

双引号中再用双引号要这样:
var str = "abc\"def\"ghi"
用反斜杠来禁止解析双引号。

下面是我摘录的,希望对你有用:

在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:


代码如下:

<input value="Test" type="button" onclick="alert(""OK"");" />

IE提示出错后,再漫不经心地改为:


代码如下:

<input value="Test" type="button" onclick="alert(\"OK\");" />

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


代码如下:

<input value="" type="button" onclick="alert('OK');" />

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

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


代码如下:

<input value="Test" type="button" onclick="alert("OK");" />

这时才理解,原来这时,还是归于HTML的管辖范围,所以转义字符应该使用HTML的,而不是javascript的。两个双引号的做法是vbScript的,\"这种做法则是javascript的,而HTML的,则是用",此外还可以使用:"、'。
下面列出各种表达方法:


代码如下:

<html>
<body>
<input value="外双引号内双引号-错误" type="button" onclick="alert("OK");" /><br />
<input value="外单引号内单引号-错误" type="button" onclick='alert('OK');' /><br />
<input value="两个双引号-错误" type="button" onclick="alert(""OK"");" /><br />
<input value="两个单引号-错误" type="button" onclick="alert(''OK'');" /><br />
<input value="\+双引号-错误" type="button" onclick="alert(\"OK\");" /><br />
<input value="\+单引号-错误" type="button" onclick="alert(\'OK\');" /><br />
<input value="外双引号内单引号-OK" type="button" onclick="alert('OK');" /><br />
<input value="外单引号内双引号-OK" type="button" onclick='alert("OK");' /><br />
<input value="外部不使用引号-OK" type="button" onclick=alert('OK');alert("OK"); /><br />
<input value="HTML转义字符"(& # 3 4 ;)-OK" type="button" onclick="alert("OK");" /><br />
<input value="HTML转义字符'(& # 3 9 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符"(& # x 2 2 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符'(& # x 2 7 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符"(& q u o t ;)-OK" type="button" onclick="alert("OK");" /><br />
<input value="HTML转义字符'(& a p o s ;)-IE错误" type="button" onclick="alert('OK');" /><br />
<input value="其它\\-错误" type="button" onclick="alert(\\"OK\\");" /><br />
<input value="其它\& # 3 4 ;-错误" type="button" onclick="alert(\"OK\");" /><br />
</body>
</html>

(0)

相关推荐

  • js 赋值包含单引号双引号问题的解决方法

    我的页面是jsp页面,里面包含一个参数:lefttree, 这个lefttree是从后台拼出来的,内容是html代码:如: 复制代码 代码如下: <div class="test" onclick="show('tt1','abc')"> 在jsp页面中,需要通过js代码将这个值付给一个div,如下: 复制代码 代码如下: <script type="text/javascript"> window.parent.docu

  • JavaScript中的单引号和双引号报错的解决方法

    在使用JavaScript显示消息或者传递字符数据的时候,经常会碰到数据中夹杂单引号(')或者双引号("),这种语句往往会造成JavaScript报错.对此一般采用/'或者/"的解决. 例如: Alert("this is test "message"!"); Alert('this is test 'message'!'); 一般会改成以下语句 Alert("this is test /"message/"!&qu

  • 浅析Js中的单引号与双引号问题

    单引号和双引号其实没啥区别,看你自己习惯了 <input type="button" onclick="alert("1")">-------------------不正确<input type="button" onclick="alert('1')">-------------------正确 双引号中再用双引号要这样:var str = "abc\"def\

  • javascript 复杂的嵌套环境中输出单引号和双引号

    <a href="javascript:alert('这里有2个单引号一个双引号"\'\' :)');" >引号的嵌套</a> 单引号 ' 的 ASCII码是 39 双引号 " 的 ASCII码是34,所以我们可以用&#xxx;的形式来代替具体的符号.虽然变成了&#xxx;的形式,但是在嵌套环境中仍然要很当心.这里代码里的alert()使用的引号是单引号,alert里的字符串应该转义掉单引号.于是就有了 \'的形式.反之,就要

  • 关于JavaScript的单双引号嵌套问题

    单引号和双引号之间可以相互嵌套. 1.单引号内只能嵌套双引号. 2.双引号内只能嵌套单引号. 3.如果想在双引号内,再嵌套双引号,里面的双引号,一定要进行转义(\"). 4.JS中的转义字符是反斜杠(\).常用的转义字符有:\'.\".\\.\r.\n等. 转义字符也就是,当浏览器遇到反斜杠(\)时,将会对其后的一个字符进行特殊对待,当成一个一个普通字符来对待.所谓"普通"字符就是a.b.c.&等. 总结 以上所述是小编给大家介绍的关于JavaScript的

  • js 单引号替换成双引号,双引号替换成单引号的实现方法

    1.双引号替换成单引号 var _adrobj = JSON.stringify(address).replace(/\"/g,"'");ps: var a = {a:1,b:2}; JSON.stringify(a)====>"{"a":1,"b":2}" 2.单引号替换成双引号 var _nstr = _adrdata.replace(/'/g, '"');ps: var json = JSON.

  • js中单引号与双引号冲突问题解决方法

    如何解决js中单引与双引冲突,想下面的这段代码: 复制代码 代码如下: html += ' <a onclick="return removeOpenCss('+e.point.lng+e.point.lat+')">取消</a>'; 这是js中的代码,如果这里这样写的话,会提示js错误,是因为removeOpenCss方法里的参数没有单引或者双引,如果这里,这样写的话: 复制代码 代码如下: html += ' <a onclick="retu

  • JavaScript 限制文本框不可输入英文单双引号的方法

    <input id="workname" style="width: 200px" name="workname" value="" type="text" onkeyup="JavaScript:replaceLikeVal(this)" /> 正则实现replaceAll: function replaceLikeVal(comp){ if (comp.value.ind

  • Js参数值中含有单引号或双引号问题的解决方法

    <script type="text/javascript">function Display(LoginEmail, UserName, ID) {        alert(LoginEmail);    }</script> 1.使用单引号传参:<a href="javascript:Display('abc@abc.com','Aleax Xie','10101239393')">Test1</a> 如果其中一

  • javascript单引号和双引号的区别和处理

    单引号和双引号其实没啥区别,看你自己习惯了 复制代码 代码如下: <input type="button" onclick="alert("1")">-------------------不正确 <input type="button" onclick="alert('1')">-------------------正确 双引号中再用双引号要这样: var str = "a

  • 在C语言里单引号和双引号的区别

    -- C语言中的单引号用来表示字符字面量,编译为对应的ASCII码 -- C语言中的双引号用来表示字符串字面量,编译为对应的内存地址 'a'表示字符字面量,在内存中占一个字节,'a'+1表示'a'的ASCII码加1,结果为'b'. "a"表示字符串字面量,在内存中占两个字节,"a"+1表示指针运算,结果指向"a"结束符'\0' 分析:下面这段程序合法吗? char* p1 = 1; // p1指向地址0x00000001 char* p2 = '

  • PHP 单引号与双引号的区别

    1.定义字符串 在PHP中,字符串的定义可以使用单引号,也可以使用双引号.但是必须使用同一种单或双引号来定义字符串,如:'Hello"和"Hello'为非法的字符串定义. 定义字符串时,只有一种引号被视为定义符,即单引号或双引号.于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析.这样,你就可以在双引号串中包含任何其他字符,甚至单引号.下面的引号串都是合法的: Php代码 复制代码 代码如下: $s = "I am a 'single quote string' i

  • Shell脚本字符串单引号和双引号的区别浅析

    一.字符串基础知识 字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号.单双引号的区别跟PHP类似. 单引号 复制代码 代码如下: str='this is a string' 单引号字符串的限制: •单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的: •单引号字串中不能出现单引号(对单引号使用转义符后也不行). 双引号 复制代码 代码如下: your_name='qinjx' str="Hel

  • jquery 单引号和双引号的区别及使用注意

    可以执行的语法:$("ul li a").filter(":contains('佳能'),:contains('松下'),:contains('卡西欧')").css("color","red"); 错误的语法:$("ul li a").filter(":contains("佳能"),:contains("松下"),:contains("卡西欧&q

  • PowerShell中字符串使用单引号和双引号的区别

    本文介绍PowerShell开发时,在字符串中如何去包含变量.将变量包含在字符串中,最后得到的结果是将变量的值放入到了字符串中. 假如有一个字符串变量:$p = "PowerShell" 那么 $str="Hello $p",这时,$str的值是什么呢?且看下面的演示: 复制代码 代码如下: PS C:\Users\spaybow> $p="PowerShell" PS C:\Users\spaybow> $str="Hel

  • shell编程基础 单引号和双引号的区别

    下面用一个简单的shell程序要说明一下. debian:~/learn/shell# cat phonebook Alice Chebba 973-555-2015 Barbara Swingle 201-555-9257 Liz Stachiw 212-555-2298 Susan Goldberg 201-555-7776 Susan Topple 212-555-4932 Tony Iannino 973-555-1295 Stromboli Pizza 973-555-9478 deb

  • python里的单引号和双引号的有什么作用

    在Python当中表达字符串既可以使用单引号,也可以使用双引号,那两者有什么区别吗? python单引号和双引号的区别 简单来说,在Python中使用单引号或双引号是没有区别的,都可以用来表示一个字符串.但是这两种通用的表达方式,除了可以简化程序员的开发,避免出错之外,还有一种好处,就是可以减少转义字符的使用,使程序看起来更简洁,更清晰. 更多学习内容,请点击python学习网. 举个两个例子: 1.包含单引号的字符串 假如你想定义一个字符串my_str,其值为: I'm a student,则

随机推荐