NATIVE

settings_applicationsGlobal

NATIVE

Editing
  • account_tree
  • bug_report

stringuriencodeURI(stringURI)

URI(Uniform Resource Identifier:URL+URN) 값을 갖는 문자열 중에서 특정 문자를 퍼센트(percent) 인코딩으로 반환한다.

설명

URI 인코딩

인터넷 자원을 식별하는 주소를 인코딩을 하고자 할 때 사용한다. 보통 URI는 URL과 URN을 총칭하는 용어이다. 일반적으로 URL의 처리시 사용된다.

URL의 인코딩이 필요한 경우, 예를 들어서 로그인을 하지 않은 회원이 회원 권한이 필요한 웹페이지 접근시 보통 자동으로 로그인 페이지로 리다이렉트(redirect) 처리를 한다. 이때 접속하고자 했던 웹페이지의 URL을 로그인 페이지로 리다이렉트(redirect)시 GET 데이터 형식으로 보내줄 필요가 있다. 그래야만 로그인을 완료 후 다시 자동으로 접속을 원하는 페이지로 이동 처리를 할 수가 있다.

URL 데이터를 GET 형식으로 전송하고자 할 때 URL 주소 체계에서 기본적으로 사용하고 있는 예약어가 있는데 이 예약어를 GET 데이터에서 갖게 되면 웹브라우저는 해석 오류를 일으킨다. 따라서 리다이렉트시킬 URL을 GET 형식으로 전송할 때 사용하지 말아야 할 문자를 다른 문자로 일시적으로 바꿀 필요가 있다. 바로 이러한 처리를 해주는 전역 함수가 encodeURI() 함수이다.

그러나 encodeURI() 함수는 인코딩 대상이 제한되어 있다. 쉽게 이야기한다면 GET 데이터로 사용하지 말아야 할 문자중에서 '/'를 인코딩 하지 않는다. 좀더 자세히 "A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #" 문자는 인코딩하지 않는다. 이러한 이유로 encodeURI() 함수보다는 encodeURIComponent() 함수를 사용하는 게 일반적이다.

주요 특수 문자 인코딩

CharacterencodeURI()encodeURIComponent()
;;%3B
,,%2C
//%2F
??%3F
::%3A
@@%40
&&%26
==%3D
++%2B
$$%24
`%60%60
^%5E%5E
[%5B%5B
]%5D%5D
{%7B%7B
}%7D%7D
##%23
"%22%22
공백%20%20

구문

형식
encodeURI(URI)

매개 변수

stringURI필수

완전한 인터넷 식별자(주소)를 갖는 문자열을 지정한다.

반환

stringuri

일부 문자를 퍼센트 인코딩된 문자열로 반환한다. URI에 단일 서러게이트(surrogate)가 포함된 경우 URIError 예외가 발생한다.

Exception

URIError

URI를 다루는 전역 함수가 잘못된 방식으로 사용되었을 때 발생하는 오류를 다루는 객체이다.

테스트 도구

Test to encode

상속 계층 탐색

Function

  • Properties

    • arguments

      함수에 전달된 인수를 조회한다. 유사 배열로 참조되며 인덱스로 접근이 가능하다.

    • caller

      지정된 함수를 호출한 함수를 참조한다. strict 모드에서는 사용할 수 없다.

    • length

      함수에 사용 되고 있는 인수의 개수를 조회한다.

    • name

      함수 이름을 조회한다.

    • prototype

      생성자 함수(constructor function)에 의해 생성된 인스턴스(instance)에게 상속되어지는 생성자의 프로토타입을 나타낸다.

  • Methods

    • apply()

      지정된 this와 제공된 인수를 가진 배열 또는 유사 배열로 함수를 호출한다.

    • bind()

      원본 함수와 동일한 본문을 갖는 바인딩된 함수를 만든다. this 키워드가 있는 경우 실제로 자신을 참조할 수 있도록 활성화된다.

    • call()

      인수를 지정하여 함수를 호출한다.

    • toString()

      함수의 소스 코드를 반환한다.

Object

  • Methods

    • hasOwnProperty()

      객체가 특정 프로퍼티를 가지고 있는지를 블린(boolean) 값으로 반환한다.

    • isPrototypeOf()

      해당 객체가 다른 객체의 프로토타입 체인에 속한 객체인지를 체크한다.

    • propertyIsEnumerable()

      매개 변수의 속성이 열거가능(enumerable)한지 여부를 체크한다.

    • toLocaleString()

      객체를 나타내는 문자열을  작동하는 지역(locale)의 방식으로 출력이 된다.

    • toString()

      객체를 나타내는 문자열을 반환한다.

    • valueOf()

      객체의 원시(primitive) 값을 반환한다.

  • Properties

    • constructor

      객체의 생성자 함수를 참조한다.

    • __proto__

      상속된 [[Prototype]] 참조하거나 설정가능하며 일반적으로 실제 코드상에서는 잘 사용되지 않는다. ECMAScript에서 사용되지 않는 비표준이지만 최신 웹브라우저에서는 비공식적으로 지원하고 있다. 따라서 곧 표준 속성으로 지원될 확률이 높다.

      현재는 표준 사양에 명시되었다.

버전 명세

ECMAScript 2024(15th Edition)
#sec-encodeuri-uri

지원 웹브라우저