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) 명령어
[공지] 기술 게시판
3.31
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
5.1
5.2
5.3
5.4