Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
decodeURIComponent()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 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
encodedURIein%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> |
Browser-Kompatibilität
Loading...