JS - encodeURI与encodeURIComponent的区别

encodeURI(String)主要用于整个URI(例如,http://www.jxbh.cn/illegal value.htm),而encodeURIComponent(String)主要用于对URI中的某一段(例如前面URI中的value.htm)进行编码。它们的主要区别在于,encodeURI()不会对本身属于URI的特殊字符进行编码,例如冒号、正斜杠、问号和井字号;而encodeURIComponent()则会对它发现的任何非标准字符进行编码。来看下面的例子:

<script type="text/javascript">  
  
var test1="http://www.wljcz.com/My first/";  
var nn=encodeURI(test1);  
var now=decodeURI(test1);  
document.write(nn+ "<br />");  
document.write(now);  
  
var test1="http://www.wljcz.com/My first/";  
var bb=encodeURIComponent(test1);  
var nnow=decodeURIComponent(bb);  
document.write(bb+ "<br />");  
document.write(nnow);  

</script>

 

其运行结果为:

http://www.wljcz.com/My%20first/
http://www.wljcz.com/My first/

http%3A%2F%2Fwww.wljcz.com%2FMy%20first%2F
http://www.wljcz.com/My first/

posted @ 2017-07-20 11:24  AndreMao  阅读(205)  评论(0编辑  收藏  举报