當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。