Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
decodeURIComponent()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
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
| Spezifikation |
|---|
| ECMAScript® 2027 Language Specification> # sec-decodeuricomponent-encodeduricomponent> |
Browser-Kompatibilität
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.