Start · Sprachen · JavaScript · Referenz · decodeURIComponent()

decodeURIComponent()

Funktion

Die Funktion <code>decodeURIComponent()</code> dekodiert eine zuvor durch <code>encodeURIComponent()</code> oder eine ähnliche Routine erzeugte URI-Komponente.

seit JavaScript ES3 Kategorie: core

Signatur

decodeURIComponent(encodedURI)

Beschreibung

Die Funktion decodeURIComponent() dekodiert eine Uniform Resource Identifier (URI)-Komponente, die zuvor durch encodeURIComponent() oder eine ähnliche Routine erzeugt wurde.

decodeURIComponent() ist eine Funktionseigenschaft des globalen Objekts.

decodeURIComponent() verwendet denselben Dekodierungsalgorithmus wie in decodeURI() beschrieben. Sie dekodiert alle Escape-Sequenzen, einschließlich derjenigen, die nicht von encodeURIComponent erzeugt wurden, wie -.!~*'().

Parameter

Name Typ Default Beschreibung
$encodedURI Pflicht string — Eine kodierte Komponente eines Uniform Resource Identifier.

Rückgabewert

Typ
string
Beschreibung
Ein neuer String, der die dekodierte Version der übergebenen kodierten Uniform Resource Identifier (URI)-Komponente darstellt.

Beispiele

Dekodieren 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

Query-Parameter aus einer URL dekodieren

function decodeQueryParam(p) {
  return decodeURIComponent(p.replace(/\+/g, " "));
}

decodeQueryParam("search+query%20%28correct%29");
// 'search query (correct)'

// Wichtig · Fallstricke

Wirft einen URIError, wenn encodedURI ein % enthält, dem nicht zwei hexadezimale Ziffern folgen, oder wenn die Escape-Sequenz kein gültiges UTF-8-Zeichen kodiert.

decodeURIComponent() kann nicht direkt verwendet werden, um Query-Parameter aus einer URL zu parsen. Es ist etwas Vorbereitung nötig.