JavaScript encodeURI() 函数

encodeURI -- 转义某些字符串对URI编码
  • encode,中文"编码"的意思
  • 引用网址:http://www.dreamdu.com/javascript/encodeURI/

encodeURI函数语法

encodeURI(str);

encodeURI函数参数

  • str -- 要编码的字符串(通常为一个URI)

encodeURI函数返回值

str编码后的字符串(原str中的某些字符被十六进制的转义序列替换)

encodeURI函数说明

encodeURI是全局函数。encodeURI的目的是给URI进行编码。ASCII的字母、数字不编码,- _ . ! ~ * ' ( )也不编码,URI中具有特殊意义的字符也不编码; ; / ? : @ & = + $ , # 空格

参数中的其他字符将转换成UTF-8编码方式的字符,并使用十六进制转义序列(%xx)生成替换。其中,ASCII字符使用一个%xx替换,在\u0080与\u07ff之间的编码的字符使用两个%xx替换,其它的16为Unicode字符使用三个%xx替换。

如果想对URI的分隔符? #编码,应该使用encodeURIComponent。

使用decodeURI可以还原encodeURI编码的字符串。

示例

var str="梦之都 http://www.dreamdu.com/";
str=encodeURI(str);
document.write(str);
str=decodeURI(str);
document.write(str);
str=encodeURI(";/?:@&=+$,#-_.!~*'()");
document.write(str);
str=encodeURIComponent(";/?:@&=+$,#-_.!~*'()");
document.write(str);

结果:

%E6%A2%A6%E4%B9%8B%E9%83%BD%20http://www.dreamdu.com/
梦之都 http://www.dreamdu.com/
;/?:@&=+$,#-_.!~*'()
%3B%2F%3F%3A%40%26%3D%2B%24%2C%23-_.!~*'()

JavaScript encodeURI() 函数示例 -- 可以尝试编辑

encodeURI函数异常

  • URIError -- str中含有格式化错误的Unicode字符,无法编码

延伸阅读



  • 教程中有什么不懂的地方?发现教程的错误!对教程有什么建议!快快给我留言呀 给猴子留言,我会尽快解答你的问题:)
  • HTML代码