javascript转义,JavaScript转义符

js单引号和双引号的转义问题

html的双引号是正常的,每一个属性,例如:value="",一般都有双引号包着。但是用js添加页面节点的时候,需要转义,比如:

你所需要的网站建设服务,我们均能行业靠前的水平为你提供.标准是产品质量的保证,主要从事成都网站制作、成都网站设计、企业网站建设、成都手机网站制作、网页设计、品牌网站设计、网页制作、做网站、建网站。创新互联建站拥有实力坚强的技术研发团队及素养的视觉设计专才。

var html = "div onclick=\" openUrl( ' s:url value='%{resUrl}'/ ' ) \"/div";

document.getElementById("main").innerHTML = html;

最外面的那个双引号是表示一个字符串变量的意思,而被包在里面的双引号就不起作用,只有在页面显示的时候才会起作用,也就是说js不会认为第一个双引号和第二个双引号是一对,会认为/div";这个双引号才是结尾,因为中间的被"\"转义了。

openUrl函数中的第一对单引号是表示字符串的意思,你省去也不会报错,中间那一对则是标签的属性需要。

最后的问题说明对struts的标签不熟,可以看下struts的property和ognl表达式,最多半个小时可学会。

如何查看 JavaScript 中 Unicode 转义前原字符

1.html中的转义:在html中如果遇到转义字符(如“ ”),不管你的页面字符编码是utf-8亦或者是GB2312,都会直接打印成相应的字符;而当遇到(如:“\u8981”【此处的8981是16进制值】)时,则不会打印成相应字符。

/*

*html标记的转义

*@example

*pHello World!/p

* ||等价于

*pHello World!/p

* ||等价于

*pHello World!/p*/

" " == " "; //false

" ".length == 6; //true

2.html中的unicode编码:(如:” ”,【此处的160是10进制值】)

3.javascript内的unicode编码:当遇到unicode编码时(如:“\u8981”),则会打印成相应的字符;而在javasript标签中,不会对转义字符进行转义(如“  ”)

/*

*javascript中unicode编码

*@example

*"\u8981" == "要"; //true

*/

"\u8981".length == 1; //true

4.javascript中的转义:(如:”\n”会转义成换行符)

5.javascript中unicode编码和字符的相互转化

/*

*unicode编码和字符相互转化

*/

"要".charCodeAt() == 35201; //true,35201为10进制值

String.fromCharCode(35201) == "要"; //true,35201为10进制值

"\u89" + "81" == "要"; //false,值为"u8981",是由于"\u"会转义成"u"

//从unicode编码到字符的方法

eval("(\"\u89" + "81\")") == "要"; //true,8981为16进制值

Javascript 能否手动转义字符串?

最无脑的方法

var StringToBeDecoded = '\\u00ff'

var DecodedString = eval('"' + StringToBeDecoded + '"')

当然因为用到了eval所以陷阱相当多

比如任意代码执行问题

比如无效字符串无法解析啊等等

所以其实你可以用escape去存储字符串

然後用unescape去解析

比如escape('\u00ff') = '%FF'

看你的需求

目测你是在写前端後台的数据交互?

那麽也可以用JSON的思路(假设你生成数据的端可以使用任何一种JSON库

例如浏览器自带的JSON

就可以这样写

JSON.stringify({Data : '\n\r\x88\u00ff\u4e00'}).replace(/[\x80-\xff]/g,function(S){return '\\x' + S.charCodeAt().toString(16)}).replace(/[\u1000-\uffff]/g,function(S){return '\\' + escape(S).substring(1)})

这样你就能拿到一个完全由ASCII组成的数据了

然後怎麽解析就不必多说了吧

JavaScript转义符?

JScript 提供了一些特殊字符,允许在字符串中包括一些无法直接键入的字符。每个字符都以反斜杠开始。反斜杠是一个转义字符,表示 JScript 解释器下面的字符为特殊字符。

转义序列 字符

\b 退格

\f 走纸换页

\n 换行

\r 回车

\t 横向跳格 (Ctrl-I)

\' 单引号

\" 双引号

\\ 反斜杠

请注意,由于反斜杠本身用作转义符,因此不能直接在脚本中键入一个反斜杠。如果要产生一个反斜杠,必须一起键入两个反斜杠 (\\)。

document.write('The image path is C:\\webstuff\\mypage\\gifs\\garden.gif.');

document.write('The caption reads, "After the snow of \'97. Grandma\'s house is covered."');

javascript 怎么把字符串中的特殊符号转义

js中的特殊字符,加上转义符\ 。

例如:

var txt="We are the so-called "Vikings" from the north." document.write(txt) 【错误】

var txt="We are the so-called \"Vikings\" from the north." document.write(txt) 【正确】


新闻标题:javascript转义,JavaScript转义符
标题来源:http://myzitong.com/article/phdhes.html