网站建设资讯

NEWS

网站建设资讯

转义javascript,转义字符占几个字节

JavaScript转义字符具体怎么用的

要理解为什么要转义,比如说引号中包含了引号,那么就不能判断那个引号开始,那些引号是结束标志,所以用转义,将引号中的引号给转义了

创新互联公司是一家集网站建设,鼓楼企业网站建设,鼓楼品牌网站建设,网站定制,鼓楼网站建设报价,网络营销,网络优化,鼓楼网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

采纳哦

JS实现HTML标签转义及反转义

简单说一下业务场景,前台用户通过input输入内容,在离开焦点时,将内容在div中显示。

这时遇到一个问题,如果用户输入了html标签,则在div显示中,标签被解析。

由于是纯前端操作,不涉及后端,因此需要通过js对输入内容进行转义。

这里提供一个非常简单有效的转义方案,利用了innerHTML和innerText

注:火狐不支持innerText,需要使用

textContent

属性,而IE早期版本不支持此属性,为了同时兼容IE及火狐,需要进行判断操作.

因为innerText(textContent)会获取纯文本内容,忽略html节点标签,而innerHTML会显示标签内容,

所以我们先将需转义的内容赋值给innerText(textContent),再获取它的innerHTML属性,这时获取到的就是转义后文本内容。

代码如下:

function

HTMLEncode(html)

{

var

temp

=

document.createElement("div");

(temp.textContent

!=

null)

?

(temp.textContent

=

html)

:

(temp.innerText

=

html);

var

output

=

temp.innerHTML;

temp

=

null;

return

output;

}

var

tagText

=

"pb123456/b/p";

console.log(HTMLEncode(tagText));//pb123456/b/p

通过测试结果,可以看到html标签及符都被转义后保存。

同理,反转义的方法为先将转义文本赋值给innerHTML,然后通过innerText(textContent)获取转义前的文本内容

function

HTMLDecode(text)

{

var

temp

=

document.createElement("div");

temp.innerHTML

=

text;

var

output

=

temp.innerText

||

temp.textContent;

temp

=

null;

return

output;

}

var

tagText

=

"pb123456/b/p";

var

encodeText

=

HTMLEncode(tagText);

console.log(encodeText);//pb123456/b/p

console.log(HTMLDecode(encodeText));

//pb123456/b/p

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

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 正则表达式 转义的使用方法

首先,你是用字符串构造一个正则,在字符串里反斜杠就转义一次。

然后字符串构造为正则的时候会再次对串中的反斜杠进行转义。

所以对于'\at'进行匹配,应该是四个反斜杠。

或者用这种语法:

var re1 = /.at/g;

var re3 = /\.at/g;

// match '\at'

var re4 = /\\at/g;

如何查看 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 正则表达式的双重转义

因为java的正则表达式在是字符串里的,\是java字符串中的转义符。\也是正则表达式中的转义符。那么只加一个\的话,只能说明在字符串中转义符,而java需要进一步把普通字符串中的\变成正则表达式中的\,像是更深一则转化的意思,这样\\以后的意思是正则表达式中的转义符(\)。

要把\把变成正则表达式中的\,所以\\是转义了一个\

我的回答简而言之,在java中(别的语言有别的规矩),正则表达式字符串,和普通字串是两个东西。


文章标题:转义javascript,转义字符占几个字节
浏览路径:http://njwzjz.com/article/dsdspjg.html