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 Funktion decodeURIComponent()
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 angegebenen kodierten URI-Komponente darstellt.
Ausnahmen
URIError
-
Wird ausgelöst, wenn
encodedURI
ein%
enthält, das nicht von zwei hexadezimalen Ziffern gefolgt wird, 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_шеллы"
Abfangen von Fehlern
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 parsen. Es ist etwas Vorbereitung erforderlich.
function decodeQueryParam(p) {
return decodeURIComponent(p.replace(/\+/g, " "));
}
decodeQueryParam("search+query%20%28correct%29");
// 'search query (correct)'
Spezifikationen
Specification |
---|
ECMAScript® 2025 Language Specification # sec-decodeuricomponent-encodeduricomponent |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
decodeURIComponent |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support