The decodeURIComponent()
function decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent()
or by a similar routine.
The decodeURIComponent()
function decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent()
or by a similar routine.
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
An encoded component of a Uniform Resource Identifier.
A new string representing the decoded version of the given encoded Uniform Resource Identifier (URI) component.
URIError
Thrown if encodedURI
contains a %
not followed by two hexadecimal digits, or if the escape sequence does not encode a valid UTF-8 character.
decodeURIComponent()
is a function property of the global object.
decodeURIComponent()
uses the same decoding algorithm as described in encodeURIComponent
, like -.!~*'()
.
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
decodeURIComponent()
cannot be used directly to parse query parameters from a URL. It needs a bit of preparation.
function decodeQueryParam(p) {
return decodeURIComponent(p.replace(/\+/g, " "));
}
decodeQueryParam("search+query%20%28correct%29");
/ 'search query (correct)'
Specification |
---|
ECMAScript® 2026 Language Specification # sec-decodeuricomponent-encodeduricomponent |