decodeURIComponent()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die decodeURIComponent()
-Funktion dekodiert eine zuvor durch encodeURIComponent()
oder eine ähnliche Routine erstellte Komponente eines Uniform Resource Identifier (URI).
Probieren Sie es aus
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
Syntax
decodeURIComponent(encodedURI)
Parameter
encodedURI
-
Eine kodierte Komponente eines Uniform Resource Identifier.
Rückgabewert
Ein neuer String, der die dekodierte Version der gegebenen kodierten Komponente eines Uniform Resource Identifier (URI) darstellt.
Ausnahmen
URIError
-
Wird ausgelöst, wenn
encodedURI
ein%
enthält, dem nicht zwei hexadezimale Ziffern folgen, oder wenn die Escape-Sequenz kein gültiges UTF-8-Zeichen kodiert.
Beschreibung
decodeURIComponent()
ist eine Funktions-Eigenschaft des globalen Objekts.
decodeURIComponent()
verwendet denselben Dekodierungsalgorithmus, wie in decodeURI()
beschrieben. Es dekodiert alle Escape-Sequenzen, einschließlich solcher, die nicht durch encodeURIComponent
erstellt wurden, wie -.!~*'()
.
Beispiele
Dekodierung einer kyrillischen URL-Komponente
decodeURIComponent("JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B");
// "JavaScript_шеллы"
Fehler abfangen
try {
const a = decodeURIComponent("%E0%A4%A");
} catch (e) {
console.error(e);
}
// URIError: malformed URI sequence
Dekodierung von Abfrageparametern aus einer URL
decodeURIComponent()
kann nicht direkt verwendet werden, um Abfrageparameter aus einer URL zu analysieren. Es erfordert eine gewisse Vorbereitung.
function decodeQueryParam(p) {
return decodeURIComponent(p.replace(/\+/g, " "));
}
decodeQueryParam("search+query%20%28correct%29");
// 'search query (correct)'
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-decodeuricomponent-encodeduricomponent |