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

在使用JavaScript显示消息或者传递字符数据的时候,经常会碰到数据中夹杂单引号(')或者双引号("),这种语句往往会造成JavaScript报错。对此一般采用/'或者/"的解决。

例如:

Alert("this is test "message"!");
Alert('this is test 'message'!');

一般会改成以下语句

Alert("this is test /"message/"!");
//或者
Alert("this is test 'message'!");
Alert('this is test /'message/'!');

以上如果只在脚本中使用或者没有太复杂的数据字符连接,则已经解决了这个问题。

但是如果存在比较复杂的数据字符连接的时候,特别是某些由服务器组合的JavaScript语句时候可以考虑将单引号(')和者双引号("),用转义序列(escape sequence )输出。

例如上面的语句可以转变成以下的格式:

Alert("this is test /u0022message/u0022!");
Alert('this is test /u0027message/u0027!');

补充一些常用的编码

字符说明 Unicode 转义序列
长破折号 (—) /u2014
注册符号 (R) /u00AE
版权符号 (c) /u00A9
商标符号 (?) /u2122
欧元符号 (€) /u20AC
反斜杠 (/) /u005C
正斜杠 (/) /u002F
左大括号 ({) /u007B
右大括号 (}) /u007D
小于号 (<) /u003C
大于号 (>) /u003E
星号 (*) /u002A
& &
' '(/u0027)
" "(/u0022)
< <
> >

(0)

相关推荐

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

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

  • 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中单引号与双引号冲突问题解决方法

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

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

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

  • 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的单双引号嵌套问题

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

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

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

  • 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中的单引号与双引号问题

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

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

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

  • json解析时遇到英文双引号报错的解决方法

    有时解析json时,会碰到里面带有英文的双引号,导致解析错误,可以将json进行转义,一下: public static String htmlEscape(String input) { if(isEmpty(input)){ return input; } input = input.replaceAll("&", "&"); input = input.replaceAll("<", "<")

  • 替换php字符串中的单引号为双引号的方法

    实例如下: $param = "{'id':'12', 'name':'hi'}"; $new = preg_replace('/\"/', '"', $param); 以上这篇替换php字符串中的单引号为双引号的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • php中的单引号、双引号和转义字符详解

    PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name):最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出. 例如: <?php $name="string"; echo " 字符串" . '$name'; echo "字符串" . "$name"; ?> 结果: 字符串$name 字符串string 转义字符,顾名思义会将规定的语法用"\"来

  • Android线程中设置控件的值提示报错的解决方法

    本文实例讲述了Android线程中设置控件的值提示报错的解决方法.分享给大家供大家参考,具体如下: 在Android线程中设置控件的值一般会与Handler联合使用,如下: package com.yarin.android.Examples_04_15; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import andro

  • PostgreSQL 中的单引号与双引号用法说明

    在pg中的sql,单引号用来标识实际的值,双引号用来标识表名(table name)或列名(column name)等数据库中存在的值. 如,执行一句query: select "name" from "students" where "id"='1' 加上引号的好处在于,当在程序中进行sql拼装的时候,可以简化对值的校验,同时又可以避免sql注入.即在数据库层面完成了事故的避免. 如,同样执行的query: select ";drop

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

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

随机推荐