메뉴 건너뛰기

조회 수 1913 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

자바스크립트에서 URL을 처리해서 리다리렉트 시커거나 하는 등의 작업을 할 때  한글이 섞여 있는 URL의 경우 이 한글문제 때문에 제대로 수행되지 않는 경우가 있다.

서버스크립트라면 URL인코딩 함수(PHP의 경우 urlencode())를 사용하면 되지만, 자바스크립트에서는 이런 역할(예를 들면 '가'를 '%EA%B0%80'으로 인코딩 해주는 역할)을 해 주는 함수가 없기 때문에 이를 직접 정의해서 사용하면 된다.


function urlencode(str) {

    str = (str + '').toString();

    return encodeURIComponent(str)

        .replace(/!/g, '%21')

        .replace(/'/g, '%27')

        .replace(/\(/g, '%28')

        .replace(/\)/g, '%29')

        .replace(/\*/g, '%2A')

        .replace(/%20/g, '+');

}



function urldecode(str) {

    return decodeURIComponent((str + '')

        .replace(/%(?![\da-f]{2})/gi, function() {

            return '%25';

        })

        .replace(/\+/g, '%20'));

}



function rawurlencode(str) {

    str = (str + '').toString();

    return encodeURIComponent(str)

        .replace(/!/g, '%21')

        .replace(/'/g, '%27')

        .replace(/\(/g, '%28')

        .replace(/\)/g, '%29')

        .replace(/\*/g, '%2A');

}



function rawurldecode(str) {

    return decodeURIComponent((str + '')

        .replace(/%(?![\da-f]{2})/gi, function() {

            return '%25';

        }));

}



List of Articles
번호 제목 날짜 조회 수
247 바닐라 JS, ECMAScript 개념 file 2023.01.20 109
246 마우스 오른쪽버튼 , 드래그 선택 차단 2023.01.12 118
245 패스워드, 확인패스워드가 맞는지 체크 2023.01.12 129
244 Node.js와 npm(+ npx)의 개념 2023.01.20 134
243 비동기 작업의 원리 (JavaScript 엔진, Web API, Task Queue, Event Loop) file 2023.01.20 138
242 개발자도구 F12키 막기 file 2023.01.12 169
241 페이지 이동 2021.03.26 190
240 getYear(); 크롬, 파이어폭스 에서 제대로 작동 안하는 문제 2021.03.26 197
239 default 매개변수(매개변수 기본값) 2021.03.26 199
238 자주쓰는 것들 2021.03.26 203
237 split, join, replace, replace_all 2021.03.26 204
236 폼안에 태그명, 함수명 같을때 오류 2021.03.26 214
235 현재 날짜, 시간 ( Month + 1 에 대해서 ) 2021.03.25 218
234 Date 객체로 원하는 날짜, 시간 표현하기 2021.08.20 223
233 Javascript - 입력한 년, 월의 마지막 날짜 구하기 2021.03.09 224
232 3자리 마다 쉼표만 찍어주는 number_format 함수 2021.03.26 225
231 오브젝트 속성 2021.03.25 237
230 월의 마지막 날짜 계산하기 2021.08.20 242
229 대소문자 변경 (대문자를 소문자로, 소문자를 대문자로) 2021.08.20 259
228 Javascript - form태그 내부 ajax처리시 2번 전송되는 현상 2021.03.09 268
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved