decodeURI() 函数能解码由encodeURI 创建或其他流程得到的统一资源标识符(URI)。

{{InteractiveExample("JavaScript Demo: Standard built-in objects - decodeURI()")}}

```js interactive-example const uri = "https://mozilla.org/?x=шеллы"; const encoded = encodeURI(uri); console.log(encoded); // Expected output: "https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"

try { console.log(decodeURI(encoded)); // Expected output: "https://mozilla.org/?x=шеллы" } catch (e) { // Catches a malformed URI console.error(e); }


## 语法 ```plain decodeURI(encodedURI)

参数

  • encodedURI
    • : 一个完整的编码过的 URI

返回值

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

异常

encodedURI 包含无效字符序列时,引发URIError(“格式错误的 URI 序列”)异常。

描述

将已编码 URI 中所有能识别的转义序列转换成原字符,但不能解码那些不会被 encodeURI 编码的内容(例如 "#")。

示例

解码一个西里尔字母(Cyrillic)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_шеллы"

捕捉异常

try {
  var a = decodeURI('%E0%A4%A');
} catch(e) {
  console.error(e);
}

// URIError: malformed URI sequence