URL의 queryString (qstr,search) 를 연관배열(객체)로 반환하는 함수

/**
* parseQstr
* String qstr : URL의 QueryString, location.search 등
* bool decode : 받은 값을 디코딩 처리할 것인가?(옵션)
*/
function parseQstr(qstr,decode){
if(decode==undefined){decode = false;}
var pt = /(?:\?|&|^)([^&=]+)=([^&=]+)(?:&|$)/;
//var arr = qstr.match(pt);
//var arr = pt.exec(qstr);
var Rs = {};
var arr,k,v;
var qarr = qstr.split('&');
for(var i=0,m=qarr.length;i<m;i++){
arr = qarr[i].match(pt);
if(arr == null) continue;
k = arr[1];
if(decode){
v = arr[2];
}else{
v = decodeURIComponent(arr[2].replace('+',' '));
}
if(!Rs.hasOwnProperty(k)){
Rs[k] = v;
}else if(Rs[k].constructor == String){
Rs[k] = [Rs[k]];
Rs[k].push(v);
}else{
Rs[k].push(v);
}
}
return Rs
}
var qstr = '?UnitId=24006&nick=공대여자&nick=공대여자2&UUN=632a4c164e425e695dbbf243d5ba201b';
var Rs = parseQstr(qstr);

결과는

  1. RsObject
    1. UUN"632a4c164e425e695dbbf243d5ba201b"
    2. UnitId"24006"
    3. nickArray[2]
      1. 0"공대여자"
      2. 1"공대여자2"
      3. length2
이런 모양이 됨.
-------=--------
만들고 보니깐
_M 에 거의 같은게 있네...
댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
2.15
2.16
2.17
2.18
2.19
2.20
2.21
2.22
2.23
2.24
2.25
2.26
2.27
2.28