그러냐

자바스크립트 urlencode(), urldecode(), rawurlencode(), rawurldecode() 본문

javascript

자바스크립트 urlencode(), urldecode(), rawurlencode(), rawurldecode()

관절분리 2016. 1. 27. 18:25
반응형
출처 Main() | Developer
원문 http://blog.naver.com/csaiur/220232357846

자바스크립트에서 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';

        }));

}


함수 출처: http://phpjs.org

반응형

'javascript' 카테고리의 다른 글

주소 복사 스크립트  (0) 2016.01.27
우클릭 완벽차단 스크립트  (0) 2016.01.27
FORM 서브밋 시 return false 의 중요성  (0) 2016.01.27
유투브 외부제어  (0) 2016.01.27
모바일 웹 기기 식별하기  (0) 2016.01.27