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

js
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

js
decodeURIComponent("JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B");
// "JavaScript_шеллы"

Abfangen von Fehlern

js
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.

js
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 GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
decodeURIComponent

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch