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 г..
Метод decodeURI() декодирует унифицированный идентификатор ресурса (URI), созданный при помощи метода encodeURI или другой подобной процедуры.
Интерактивный пример
const uri = "https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B";
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=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"
} catch (e) {
// Catches a malformed URI
console.error(e);
}
Синтаксис
decodeURI(encodedURI)
Параметры
encodedURI-
Полный закодированный унифицированный идентификатор ресурса.
Возвращаемое значение
Новая строка, представляющая собой незакодированную версию данного унифицированного идентификатора ресурса.
Exceptions
Throws an URIError ("malformed URI sequence") exception when encodedURI contains invalid character sequences.
Описание
Заменяет каждую управляющую последовательность в закодированном URI соответствующим символом. Не декодирует последовательности, которые невозможно сформировать с помощью encodeURI. Символ "#" декодированию не подвергается.
Примеры
>Декодирование кириллического 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_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"
Catching errors
try {
var a = decodeURI('%E0%A4%A');
} catch(e) {
console.error(e);
}
// URIError: malformed URI sequence
Спецификации
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-decodeuri-encodeduri> |