decodeURI()

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.

decodeURI() 함수는 encodeURI이나 비슷한 루틴으로 사전에 만들어진 URI(Uniform Resource Identifier, 인터넷식별자)를 디코딩합니다.

시도해보기

구문

js
decodeURI(encodedURI)

매개변수

encodedURI

완전하고 인코딩된 인터넷식별자(URI)

반환값

주어진 인코딩된 URI를 디코딩한 새 문자열을 반환합니다.

예외

encodedURI에 유효하지 않은 문자열이 포함된 경우 URIError ("malformed URI sequence") 예외가 발생합니다.

설명

인코딩된 URI의 각 이스케이프 시퀀스(확장문자열)를 자신을 나타내는 문자로 바꾸지만 encodeURI에서 도입할 수 없었던 이스케이프 시퀀스는 해독하지 않습니다. #문자는 이스케이프 시퀀스에서 디코딩되지 않습니다.

예제

키릴 URL 디코딩

js
decodeURI(
  "https://developer.mozilla.org/ru/docs/JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B",
);
// "https://developer.mozilla.org/ru/docs/JavaScript_шеллы"

예외 처리

js
try {
  var a = decodeURI("%E0%A4%A");
} catch (e) {
  console.error(e);
}

// URIError: malformed URI sequence

사양

Specification
ECMAScript Language Specification
# sec-decodeuri-encodeduri

브라우저 호환성

BCD tables only load in the browser

같이 보기