메뉴 건너뛰기

조회 수 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
번호 제목 날짜 조회 수
» Location 객체 - URL 파싱 - URL에서 전달인자 추출하기 함수 작성 file 2015.06.19 8523
166 location.href 로 새창 여는 방법 (target=_blank 효과) 2015.06.19 9390
165 Node.js와 npm(+ npx)의 개념 2023.01.20 134
164 onkeypress 키보드 이벤트 처리하는 법 – text, textarea 2016.09.21 7001
163 opener 값전달, 함수실행.(자식창에서 부모창으로 값전달, 함수실행) 2021.03.26 1437
162 response.setHeader 2016.12.22 7358
161 select 당일 날짜 출력 file 2014.03.01 5780
160 SelectBox에서 선택된 항목의 텍스트, 값 가져오기 선택 옵션 넣기. 2018.07.04 4014
159 setTimeout 대체 스크립트 함수 (일시멈춤) 2016.12.22 6241
158 setTimeout() / clearTimeout() / setInterval() 2016.12.22 8162
157 span - 동적으로 글자 바꾸기, 보이기 안보이기 2019.01.16 1446
156 split, join, replace, replace_all 2021.03.26 204
155 Textarea 글자수 체크 2014.03.01 5651
154 textarea의 글자수 제한 2014.02.27 6161
153 top 부분이 고정되는 슬라이딩 메뉴입니다 file 2014.03.01 5752
152 utf-8일때 alert 한글 깨짐 해결 2021.03.26 3555
151 [INPUT BOX] 텍스트박스(INPUT 박스) 가 동적으로 추가,삭제됩니다 2017.02.19 8526
150 [jQuery] textarea 글자수 카운트 2014.03.01 7420
149 [jQuery] 상위부터 차례로 지역 선택하기 2014.03.01 45959
148 [jQuery] 실시간 검색어 순위 순서대로 보여주기 2014.03.01 12017
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved