본문 바로가기
프로그램/Javascript

쿼리스트링을 JSON형태로 변환

by 로드러너 2014. 3. 18.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

function getUrlInfo(query) {
    if (typeof query != “string”) query = location.href;
    var obj = {}, url = “”, param = “”,
        qs = query.indexOf(“?”),
        eq = query.indexOf(“=”),
        am = query.indexOf(“&”);
    var min = (eq == -1)? am : ((am == -1)? eq : Math.min(eq,am));

    if (qs == -1) {
        if (eq == -1 && am == -1) url = query;
        else param = query;
    }else if (min == -1 || qs < min) {
        url = query.substring(0,qs);
        param = query.substr(qs + 1);
    }else{
        param = query;
    }
    obj["url"] = url;
    var a = param.split(“&”), b;
    for (var i=0,n=a.length; i<n; i++) if (a[i] !== “”) {
        b = a[i].split(“=”);
        if (b[0] !== “”) obj[b[0]] = b[1] || “”;
    }
    return obj;
}

쿼리스트링을 분석해 마치 PHP의 GET변수를 다루듯이 사용할 수 있게 도와준다.

이런 형태의 오브젝트를 반환.

{

    url: http://www.site.com/index.html,

    param1: value1,

    param2: value2,

    param3: value3…

}

이렇게 활용가능.

function getVar(name) {
    var obj = getUrlInfo();
    return (typeof obj[name] != “undefined”)? obj[name] : false;
}

'프로그램 > Javascript' 카테고리의 다른 글

폼 접근  (0) 2014.03.19
Screen 정보  (0) 2014.03.19
RegExp 객체  (1) 2014.03.16
프레임의 사이즈를 실행시점에 변경하기  (0) 2014.03.15
선택된 이미지의 높이와 폭 정보를 얻기  (0) 2014.03.14