此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
decodeURI()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
decodeURI() 函数能解码由encodeURI 创建或其他流程得到的统一资源标识符(URI)。
尝试一下
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);
}
语法
decodeURI(encodedURI)
参数
encodedURI-
一个完整的编码过的 URI
返回值
返回一个给定编码统一资源标识符 (URI) 的未编码版本的新字符串。
异常
当encodedURI 包含无效字符序列时,引发URIError("格式错误的 URI 序列")异常。
描述
将已编码 URI 中所有能识别的转义序列转换成原字符,但不能解码那些不会被 encodeURI 编码的内容(例如 "#")。
示例
>解码一个西里尔字母(Cyrillic)URL
js
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
规范
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-decodeuri-encodeduri> |
浏览器兼容性
Enable JavaScript to view this browser compatibility table.