js有三个函数可以对URL进行编码:escapse,encodeURI,encodeURIComponent。对应的,有三个解码方法:unescapse,decodeURI,decodeURIComponent。

 

一、Escapse函数

  ECMAScript v3 反对使用该方法,应用使用 decodeURI() 和 decodeURIComponent() 替代它。

 

二、encodeURI 和 encodeURIComponent 的区别


对于;/?:@&=+$,#这些字符,encodeURI不对他们进行编码,而encodeURIComponent方法则对他们进行编码。

 

案例


<script type='text/javascript'>
var a = new String('http://baidu.com?searchWord=测试');
console.log(encodeURI(a));
console.log(encodeURIComponent(a));
</script>

输出:

http://baidu.com?searchWord=%E6%B5%8B%E8%AF%95

http%3A%2F%2Fbaidu.com%3FsearchWord%3D%E6%B5%8B%E8%AF%95