url编码函数encodeURI和encodeURIComponent方法
2017-10-19 20:28
429 查看
一、作用
全局函数encodeURI和encodeURIComponent方法,都可以用来进行url编码。之所以要对url进行编码,是因为浏览器不能识别某些字符,例如:空格、中文等。这两个方法对这些特殊字符用特殊的UTF-8进行编码,从而使得浏览器可以识别。
二、区别
首先要讲解一下,专属url的特殊字符,这些字符指的是除数字字母以外的字符,例如: // / & # 。如果某个url作为参数传给服务器,这时,服务器是无法识别的。这个时候,可以用encodeURIComponent方法对这个url进行编码。
例如,针对以下url:
这个时候,你或许疑惑了,那么encodeURI方法呢?它则是把浏览器无法识别的特殊字符进行了转义 ,而保留了属于URL的特殊字符。
三、总结
记住2种特殊字符,一种,浏览器无法识别的特殊字符,如空格、中文。第二种,属于url的特殊字符,如/、//、# 、&等。
encodeURI方法只把第一种特殊字符转义,而encodeURIComponent方法会把两种特殊字符都转义。如果我们需要把url作为参数传给服务器,是要用encodeURIComponent方法的。
全局函数encodeURI和encodeURIComponent方法,都可以用来进行url编码。之所以要对url进行编码,是因为浏览器不能识别某些字符,例如:空格、中文等。这两个方法对这些特殊字符用特殊的UTF-8进行编码,从而使得浏览器可以识别。
二、区别
首先要讲解一下,专属url的特殊字符,这些字符指的是除数字字母以外的字符,例如: // / & # 。如果某个url作为参数传给服务器,这时,服务器是无法识别的。这个时候,可以用encodeURIComponent方法对这个url进行编码。
例如,针对以下url:
var url = "http://www.wrox.com/illegal value.html#start"; encodeURIComponent(url) //"http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.html%23start"由以上结果可知,encodeURIComponent方法把url的特殊字符以及浏览器无法识别的特殊字符都进行转义了。
这个时候,你或许疑惑了,那么encodeURI方法呢?它则是把浏览器无法识别的特殊字符进行了转义 ,而保留了属于URL的特殊字符。
encodeURI(url) //"http://www.wrox.com/illegal%20value.html#start"由以上结果可知,encodeURI只转义了浏览器无法识别的特殊字符,保留了属于url的特殊字符。
三、总结
记住2种特殊字符,一种,浏览器无法识别的特殊字符,如空格、中文。第二种,属于url的特殊字符,如/、//、# 、&等。
encodeURI方法只把第一种特殊字符转义,而encodeURIComponent方法会把两种特殊字符都转义。如果我们需要把url作为参数传给服务器,是要用encodeURIComponent方法的。
相关文章推荐
- Javascript的URL编码方法比较:escape、encodeURI和encodeURIComponent
- escape、encodeURI、encodeURIComponent等方法的区别
- escape、encodeURI、encodeURIComponent等方法的区别
- encodeURIComponent 方法
- js encodeURI encodeURIComponent escape 方法的区别
- 一张图看懂encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别 一、这四个方法的用处 1、用来编码和解码URI的 统一资源标识符
- URI 方法 encodeURI() encodeURIComponent() docodeURI() decodeURIComponent()
- URL编码方法比较 Encode,Javascript,escape,encodeURI,encodeURIComponent,UTF-8
- encodeURI与encodeURIComponent方法的区别
- escape,encodeURI,encodeURIComponent的使用方法
- escape、encodeURI、encodeURIComponent等方法的区别比较
- 结合实例详细介绍encodeURI()、encodeURIComponent()、decodeURI()、decodeURIComponent()使用方法
- jsp传中文乱码问题 encodeURIComponent()编码方法
- encodeURI与encodeURIComponent方法的区别
- URL编码方法比较 Encode,Javascript,escape,encodeURI,encodeURIComponent,UTF-8
- URL编码方法比较 Encode,Javascript,escape,encodeURI,encodeURIComponent,UTF-8
- escape、encodeURI、encodeURIComponent 方法的区别
- 在asp中使用js的encodeURIComponent方法
- escape、encodeURI、encodeURIComponent等方法的区别比较
- 使用Ajax时常用的转码方法encodeURI,escape,encodeURIComponent