您的位置:首页 > Web前端 > JavaScript

js encodeURI() decodeURI() encodeURIComponent() decodeURIComponent()

2015-12-15 18:29 711 查看
encodeURI和encodeURIComponent都是
ECMA-262
标准中定义的函数,它们都是用来对URI(
RFC-2396
)字符串进行编码的全局函数,但是处理方式和使用场景不同。

RFC-2396字符串分类

保留字符

URI中的保留关键字符,用于分割URI的各个部分。

“;” | “/” | “?” | “:” | “@” | “&” | “=” | “+” | “$” | “,”

Mark字符

RFC-2396特别定义的字符,但没有说明特殊用途。

“-” | “_” | “.” | “!” | “~” | “*” | “’” | “(” | “)”

基本字符

URI的主题部分,包括:

所有的大写字母、小写字母和数字

区别

encodeURI

该函数对传入字符串中的所有非(基本字符、Mark字符和保留字符)进行转义编码(escaping).

var uri="my test.asp?name=ståle&car=saab";
document.write(encodeURI(uri));


–> my%20test.asp?name=st%C3%A5le&car=saab

encodeURIComponent

对于保留字符同样做转义编码.

var uri="http://jb51.net/my test.asp?name=ståle&car=saab";
document.write(encodeURIComponent(uri));


–> http%3A%2F%2Fjb51.net%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  uri