decodeURIComponent()
Базовый уровень Широко доступен
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Функция decodeURIComponent() декодирует компонент Uniform Resource Identifier (URI), ранее созданный encodeURIComponent() или аналогичной процедурой.
Попробуйте
function containsEncodedComponents(x) {
// ie ?,=,&,/ etc
return decodeURI(x) !== decodeURIComponent(x);
}
console.log(containsEncodedComponents("%3Fx%3Dtest")); // ?x=test
// Expected output: true
console.log(containsEncodedComponents("%D1%88%D0%B5%D0%BB%D0%BB%D1%8B")); // шеллы
// Expected output: false
Синтаксис
decodeURIComponent(encodedURI)
Параметры
-
encodedURI - Закодированный компонент Uniform Resource Identifier.
Возвращаемое значение
Новая строка, представляющая декодированную версию заданного закодированного компонента Uniform Resource Identifier (URI).
Исключения
-
URIError - Выбрасывается, если
encodedURIсодержит%, за которым не следуют две шестнадцатеричные цифры, или если escape-последовательность не кодирует допустимый символ UTF-8.
Описание
decodeURIComponent() является свойством объекта global.
decodeURIComponent() использует тот же алгоритм декодирования, что описан в decodeURI(). Он декодирует *все* escape-последовательности, включая те, которые не были созданы encodeURIComponent, например -.!~*'().
Примеры
Декодирование кириллического URL-компонента
decodeURIComponent("JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B");
// "JavaScript_шеллы"
Обработка ошибок
try {
const a = decodeURIComponent("%E0%A4%A");
} catch (e) {
console.error(e);
}
// URIError: malformed URI sequence
Декодирование параметров запроса из URL
decodeURIComponent() нельзя использовать напрямую для разбора параметров запроса из URL. Требуется некоторая подготовка.
function decodeQueryParam(p) {
return decodeURIComponent(p.replace(/\+/g, " "));
}
decodeQueryParam("search+query%20%28correct%29");
// 'search query (correct)'
Спецификации
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
decodeURIComponent |
1 |
12 |
1 |
7 |
1.1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent