메뉴 건너뛰기

조회 수 8523 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
javascript]  Location 객체의 주요멤버 살펴보기

 [코드] getQueryString.js - URL에서 전달인자 추출

Colored By Color Scripter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*
 * URL에서 전달인자 추출
 * URL의 질의 문자열(쿼리스트링) 에서 &로 구분된 이름=값 전달인자 쌍들을 파싱하여 추출
 * 추출한 이름=값 쌍들을 객체의 프로퍼티에 저장하여 이 객체를 결과로서 반환
 * 
 * 함수 사용예)
 * var args = getArgs(); //URL에서 args를 파싱
 * var q = args.q || ''; //정의된 전달인자가 있으면 사용하고 없으면 기본값 사용
 * var n = args.n ? parseInt(args.n) : 10; 
 */


 function getArgs() {
     var args = new Object();
     var query = location.search.substring(1);  //질의문자열을 얻어온다. (?제거를 위해 문자열자름)
     var pairs = query.split("&");              //&위치에서 분리

     for (var i = 0; i < pairs.length; i++) {
        var pos = pairs[i].indexOf('=');          // "이름 = 값" 을 찾는다.
        if (pos == -1) continue;                  //찾지 못했다면 건너뛴다.
        var argname = pairs[i].substring(0, pos); //이름을 추출
        var value = pairs[i].substring(pos+1);      //값을 추출
        value = decodeURIComponent(value);          //필요하다면 디코딩 수행
        args[argname] = value;                      //객체의 프로퍼티로 저장
     }

     return args; //객체를 반환
 }

 

 

 

 

URL에서 전달인자(쿼리스트링)를 추출하여 다음과 같이 객체로 반환

 

 

 

 [코드] 샘플 HTML페이지

Colored By Color Scripter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!doctype html>
<html>
 <head>
  <meta charset="UTF-8">
  <title>URL에서 전달인자 추출하기</title>
  <script type="text/javascript" src="getQueryString.js"></script>
  <script>
    var args = getArgs(); //URL에서 args를 파싱
    var q = args.q || ''//정의된 전달인자가 있으면 사용하고 없으면 기본값 사용
    var n = args.n ? parseInt(args.n) : 10; 
    
    console.log(args);
    document.write("q:"+q);
    document.write("<br/>");
    document.write("n:"+n);
  </script>
 </head>
 <body>
 </body>
</html>

 

전달인자가 없을경우 기본값이 출력된 모습



전달인자가 있을경우 

 

  



List of Articles
번호 제목 날짜 조회 수
167 엔터키 / enter key submit form 2018.09.28 1528
166 엔코딩/디코딩 함수 2016.09.21 6033
165 엑셀처럼 td 사이즈 조절하기 2019.01.16 3389
164 에러처리 2019.01.16 1066
163 양력-음력 2015.02.03 7662
162 시간 계산하기 (시/분/초/ 더하기, 빼기) 2021.08.20 1708
161 스타일로 제목 자르기 2016.09.12 5833
160 스마트에디터(SmartEditor)에서 textarea 유효성 체크하기 2018.07.04 3986
159 스마트 에디터 (네이버 에디터) 에디터 내에서 이미지 크기 줄이기.(리사이징) file 2018.07.04 2715
158 셀렉트(select) change 이벤트 (split) 2016.12.23 6009
157 셀렉트(select) change href 이벤트 2016.12.23 5899
156 셀렉트(select) change Ajax 이벤트 2016.12.23 12579
155 선택된 데이터 부모창에 넘기기 (iframe ☞ 부모창) 2015.04.28 6614
154 선택된 select 의 option 값을 다른 select로 넘겨주기 2014.03.01 5668
153 선택(CheckBox) 된 Row 삭제 - 화면에서 추가된 Row 2015.04.28 13538
152 샘플) top left menu 2014.03.01 5513
151 새창을 띠워서 focus주기 2014.03.01 5715
150 새로고침(F5) 금지 2018.03.28 6001
149 비동기 작업의 원리 (JavaScript 엔진, Web API, Task Queue, Event Loop) file 2023.01.20 138
148 브라우저별 이미지 크기 변경 file 2016.11.17 7928
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved