兩個都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”):它返回“&”
相關用法
- Javascript decimal轉hex用法及代碼示例
- Javascript decimal轉octal用法及代碼示例
- Javascript dataView.getFloat32()用法及代碼示例
- Javascript dataView.getFloat64()用法及代碼示例
- Javascript dataView.getInt16()用法及代碼示例
- Javascript dataView.getInt32()用法及代碼示例
- Javascript dataView.getInt8()用法及代碼示例
- Javascript dataView.getUint16()用法及代碼示例
- Javascript dataView.getUint32()用法及代碼示例
- Javascript dataView.getUint8()用法及代碼示例
- Javascript dataView.setFloat32()用法及代碼示例
- Javascript dataView.setFloat64()用法及代碼示例
- Javascript dataView.setInt16()用法及代碼示例
- Javascript dataView.setInt32()用法及代碼示例
- Javascript dataView.setInt8()用法及代碼示例
- Javascript dataView.setUint16()用法及代碼示例
- Javascript dataView.setUint32()用法及代碼示例
- Javascript dataView.setUint8()用法及代碼示例
- Javascript date.getDate()用法及代碼示例
- Javascript date.getFullYear()用法及代碼示例
- Javascript date.getHours()用法及代碼示例
- Javascript date.getMilliseconds()用法及代碼示例
- Javascript date.getUTCDate()用法及代碼示例
- Javascript date.getUTCDay()用法及代碼示例
- Javascript date.getUTCFullYear()用法及代碼示例
注:本文由純淨天空篩選整理自deekshajaindodya大神的英文原創作品 Difference between decodeURIComponent() and decodeURI() functions in JavaScript。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。