🎊 decodeURI()

decodeURI()

decodeURI()

基线 广泛可用

此功能已非常完善,适用于多种设备和浏览器版本。自 2015 年 7 月起,该功能已在各种浏览器中可用。

Learn more

查看完整兼容性

Report feedback

decodeURI() 函数解码先前由 encodeURI() 或类似例程创建的统一资源标识符 (URI)。

Try it

const uri = "https://mozilla.org/?x=шеллы";

const encoded = encodeURI(uri);

console.log(encoded);

// 预期输出: "https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"

try {

console.log(decodeURI(encoded));

// 预期输出: "https://mozilla.org/?x=шеллы"

} catch (e) {

// 捕获格式错误的 URI

console.error(e);

}

Syntax

decodeURI(encodedURI)

Parameters

encodedURI 完整的、编码的统一资源标识符。

Return value

表示给定编码的统一资源标识符 (URI) 的未编码版本的新字符串。

Exceptions

URIError 如果 encodedURI 包含后面没有两个十六进制数字的 % ,或者转义序列未编码有效的 UTF-8 字符,则抛出。

Description

decodeURI() 是全局对象的函数属性。

decodeURI() 函数通过将 %XX 格式的每个转义序列视为一个 UTF-8 代码单元(一个字节)来解码 URI。在 UTF-8 中,第一个字节的前导 1 位的数量(可能为 0(对于 1 字节的 ASCII 字符)、2、3 或 4)表示字符中的字节数。因此,通过读取第一个转义序列, decodeURI() 可以确定要使用多少个转义序列。如果 decodeURI() 无法找到预期的序列数量,或者转义序列未编码有效的 UTF-8 字符,则会抛出 URIError 。

decodeURI() 解码所有转义序列,但如果转义序列编码以下字符之一,则转义序列将保留在输出字符串中(因为它们是 URI 语法的一部分):

; / ? : @ & = + $ , #

Examples

解码西里尔文 URL

decodeURI(

"https://developer.mozilla.org/ru/docs/JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B",

);

// "https://developer.mozilla.org/ru/docs/JavaScript_шеллы"

decryptURI() 与 decryptURIComponent()

decodeURI() 假定输入是一个完整的 URI,因此它不会解码属于 URI 语法的字符。

decodeURI(

"https://developer.mozilla.org/docs/JavaScript%3A%20a_scripting_language",

);

// "https://developer.mozilla.org/docs/JavaScript%3A a_scripting_language"

decodeURIComponent(

"https://developer.mozilla.org/docs/JavaScript%3A%20a_scripting_language",

);

// "https://developer.mozilla.org/docs/JavaScript: a_scripting_language"

Catching errors

try {

const a = decodeURI("%E0%A4%A");

} catch (e) {

console.error(e);

}

// URIError: URI 序列格式错误

Specifications

Specification

ECMAScript® 2026 语言规范 # sec-decodeuri-encodeduri

Browser compatibility

Desktop

Mobile

Server

Chrome

Edge

Firefox

Opera

Safari

Chrome Android

Android 版 Firefox

Opera Android

IOS 上的 Safari

Samsung Internet

WebView Android

Deno

Node.js

decodeURI

1

12

1

7

1.1

18

4

10.1

1

1.0

4.4

1.0

0.10.0

See also

decodeURIComponent() encodeURI() encodeURIComponent()

© 2005–2024 MDN 贡献者。根据 Creative Commons Attribution-ShareAlike 许可证 v2.5 或更高版本获得许可。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURI

🎈 相关推荐

手机2g在线是什么意思
🏷️ 2022年bet体育365官网合法吗

手机2g在线是什么意思

📅 07-03 👀 4277
The Crucible[多族地图]3.7
🏷️ 日博官网365bet

The Crucible[多族地图]3.7

📅 07-27 👀 9242
Arctime字幕软件
🏷️ 足球比分365cv

Arctime字幕软件

📅 07-03 👀 2664
马尔代夫
🏷️ 足球比分365cv

马尔代夫

📅 07-02 👀 4288
看牙醫時,會用到的常見英文單字 :: 健保診所維基百科
🏷️ 2022年bet体育365官网合法吗

看牙醫時,會用到的常見英文單字 :: 健保診所維基百科

📅 07-18 👀 9202
Air Jordan 1 High “Feng Shui” 风水配色发售信息
🏷️ 足球比分365cv

Air Jordan 1 High “Feng Shui” 风水配色发售信息

📅 07-02 👀 4746