encodeURI()
함수
encodeURI()
함수는
일부 특수문자를 제외한 URL을 인코딩합니다.
const uri = "https://www.example.com/?x=샘플 값";
const encoded = encodeURI(uri);
console.log(encoded);
// 출력: "https://www.example.com/?x=%EC%83%98%ED%94%8C%20%EA%B0%92"
encodeURI()
함수의 구문
encodeURI(uri);
매개변수
uri
는 인코딩하려는 전체 URL입니다. 이 함수는 URL의 구성 요소 중에서 일부 특수 문자를 제외하고 인코딩합니다.
반환 값
주어진 문자열을 URI로서 인코딩한 새로운 문자열을 반환합니다.
encodeURI()
함수에서 인코딩되지 않는 문자
- 알파벳 문자 (A-Z, a-z)
- 숫자 (0-9)
;
,
/
?
:
@
&
=
+
$
-
_
.
!
~
*
'
(
)
#
이 목록에 나열되지 않은 다른 문자들(띄어쓰기 포함)은 모두 %
다음에 해당 문자의 유니코드 값을 16진수로 표현한 형식으로 인코딩됩니다.
예제
const uri = "https://example.com/search?query=Hello, world!&page=1";
const encodedUri = encodeURI(uri);
console.log(encodedUri);
// 출력: "https://example.com/search?query=Hello,%20world!&page=1"
이 예제에서 encodeURI()
함수는 uri
변수에 저장된 URI를 인코딩합니다. 인코딩되지 않는 특수문자는 :
, /
, ?
, &
, =
, !
등입니다.
주의해야 할 점
encodeURI()
만 사용해서는 XMLHttpRequest
와 같은 올바른 HTTP GET
및 POST
요청을 형성할 수 없습니다. 왜냐하면 &
, +
및 =
문자가 인코딩되지 않아서 GET
및 POS
T 요청에서 특수 문자로 처리되기 때문입니다. 반면에 encodeURIComponent()
함수는 이러한 문자를 인코딩합니다.
encodeURI()
함수의 명세서
명세서 사양 | |
---|---|
encodeURI()
|
ECMAScript Language Specification #sec-encodeuri-uri |
encodeURI()
함수의 브라우저 호환성
함수 |
Chrome
|
Edge
|
Firefox
|
Safari
|
---|---|---|---|---|
encodeURI()
|
1 | 12 | 1 | 1.1 |