프로그램/script

JS 추천 함수 ㅣ URLLikeString Parser

mulderu 2011. 2. 9. 14:06
좀전 포스트에 소개한 javascriptLoading 함수를 만든 친구의 작품중.. 하나더 소개 할만한게 있어서... 
가끔 script 단에서 location.href 의 파라미터 값을 map 구조로 받고자 하는 욕망이 있을때 요긴 하겠군요.


// converts an URI-like query string to an object containing the parameters as properties.
function parseURILikeStr (s) {
  var rv = {}, decode = window.decodeURIComponent || window.unescape;
  (s == null ? location.search : s).replace(/^[?#]/, "").replace(
    /([^=&]*?)((?:\[\])?)(?:=([^&]*))?(?=&|$)/g,
    function ($, n, arr, v) {
      if (n == "")
        return;
      n = decode(n);
      v = decode(v);
      if (arr) {
        if (typeof rv[n] == "object")
          rv[n].push(v);
        else
          rv[n] = [v];
      } else {
        rv[n] = v;
      }
    });
  return rv;
}