当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Javascript decodeURIComponent()和decodeURI()的区别用法及代码示例


两个都decodeURI()decodeURIComponent()是 Javascript 全局函数,用于解码编码的 URI(统一资源标识符)。

JavaScript decodeURI() 函数它对之前编码的字符串进行解码encodeURI()函数。它通过替换每个返回一个解码的 URIUTF-8转义序列及其代表的字符。

用法:

decodeURI(encodeURI(x));

Parameters: 它包含一个参数,其中包括先前由 encodeURI() 函数编码的字符串,因此结果将再次为 x。

Example:本示例使用decodeURI()函数。

HTML


<script type="text/javascript"> 
    var decodeText1 = decodeURI('http://www.testing.com/'); 
    console.log(decodeText1); 
    var decodeText2 = decodeURI('http%3A%2F%2Fwww.testing.com%2F'); 
    console.log(decodeText2); 
</script>

输出:

http://www.testing.com/
http%3A%2F%2Fwww.testing.com%2F

JavaScript decodeURIComponent() 函数它对之前编码的字符串进行解码encodeURIComponent()函数。它通过将每个 UTF-8 转义序列替换为其表示的字符来返回解码的 URI 组件。它可以解码 %00 到 %7F 之间的任何值。

用法:

decodeURIComponent(encodeURIComponent(x));

参数:包含先前由 encodeURIComponent() 编码的字符串的单个参数,因此结果将再次为 x。

Example:此示例位于decodeURIComponent()

HTML


<script type="text/javascript"> 
    var decodeText1 = decodeURIComponent( 
                    'http://www.testing.com/'); 
    console.log(decodeText1); 
      
    var decodeText2 = decodeURIComponent( 
            'http%3A%2F%2Fwww.testing.com%2F'); 
    console.log(decodeText2); 
</script>

输出:

http://www.testing.com/
http://www.testing.com/

注意:两个函数都会抛出URI错误表明字符串中的一个或多个转义序列格式错误,无法正确解码。
decodeURIComponent()和decodeURI()函数区别:

  • decodeURI():它采用encodeURI(url)字符串,因此无法解码字符(, /?: @ & = + $#)
  • decodeURIComponent():它采用encodeURIComponent(url) 字符串,以便可以解码这些字符。
  • decodeURI():它以encodeURI(url)字符串作为参数并返回解码后的字符串。
  • decodeURIComponent():它以encodeURIComponent(url)字符串作为参数并返回解码后的字符串。
  • 解码URI(“%41”):它返回“A”
  • 解码URIComponent(“%41”)它返回“A”
  • 解码URI(“%26”):它返回“%26”
  • 解码URIComponent(“%26”):它返回“&”


相关用法


注:本文由纯净天空筛选整理自deekshajaindodya大神的英文原创作品 Difference between decodeURIComponent() and decodeURI() functions in JavaScript。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。