Programing/javascript

자바스크립트 실무 유틸 함수 시리즈 22 - URL 및 쿼리 파라미터 처리 유틸

2025. 5. 1. 14:28
반응형

이번 22편에서는 URL을 파싱하거나 쿼리 문자열을 조작하는 데 유용한 유틸 함수들을 정리합니다. 페이지 라우팅, 파라미터 추출 및 수정 등 다양한 실무 상황에서 자주 활용됩니다.


✅ 1. getQueryParam (쿼리 파라미터 값 가져오기)

📌 현재 URL 또는 주어진 URL에서 특정 쿼리 값 반환

function getQueryParam(key, url = window.location.href) {
  const params = new URL(url).searchParams;
  return params.get(key);
}

📌 활용 예시

(예: 현재 페이지 URL에서 'page' 파라미터 추출)

getQueryParam('page');

✅ 2. setQueryParam (쿼리 파라미터 설정)

📌 URL에 쿼리 파라미터를 추가 또는 수정

function setQueryParam(url, key, value) {
  const u = new URL(url);
  u.searchParams.set(key, value);
  return u.toString();
}

📌 활용 예시

(예: 기존 URL에 page=2 추가 또는 수정)

setQueryParam('https://example.com?sort=asc', 'page', 2);

✅ 3. removeQueryParam (쿼리 파라미터 제거)

📌 특정 쿼리 키 제거 후 URL 반환

function removeQueryParam(url, key) {
  const u = new URL(url);
  u.searchParams.delete(key);
  return u.toString();
}

📌 활용 예시

(예: 'utm_source' 파라미터 제거)

removeQueryParam('https://example.com?utm_source=google&page=1', 'utm_source');

✅ 4. getAllQueryParams (모든 쿼리 파라미터 객체 반환)

📌 쿼리 문자열을 객체 형태로 반환

function getAllQueryParams(url = window.location.href) {
  const params = new URL(url).searchParams;
  return Object.fromEntries(params.entries());
}

📌 활용 예시

(예: URL에 포함된 모든 파라미터 확인)

getAllQueryParams('https://example.com?lang=ko&page=3');
// { lang: 'ko', page: '3' }

✅ 5. getBaseURL (쿼리 제거된 순수 URL 반환)

📌 쿼리 스트링 없는 기본 URL 반환

function getBaseURL(url = window.location.href) {
  const u = new URL(url);
  u.search = '';
  return u.toString();
}

📌 활용 예시

(예: 공유용 URL 생성 시 쿼리 제거)

getBaseURL('https://example.com?page=2&ref=naver');
// 'https://example.com/'

✅ 결론

URL 및 쿼리 파라미터 처리는 사용자 경험과 데이터 추적에 있어 매우 중요한 요소입니다. 이번 시리즈에서 다룬 함수들은 복잡한 URL 조작을 보다 쉽게 구현할 수 있도록 도와줍니다.

반응형

'Programing > javascript' 카테고리의 다른 글

함정에 빠지기 쉬운 자바스크립트 문법2  (0) 2025.05.05
함정에 빠지기 쉬운 자바스크립트 문법  (0) 2025.05.05
자바스크립트 실무 유틸 함수 시리즈 24 - 접근성 향상을 위한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 23 - 브라우저 환경 감지 및 대응 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 21 - 정규 표현식을 활용한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 20 - 배열 비교 및 동기화를 위한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 19 - 로컬 스토리지 / 세션 스토리지를 위한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 18 - 스크롤 관련 유틸  (1) 2025.05.01
'Programing/javascript' 카테고리의 다른 글
  • 자바스크립트 실무 유틸 함수 시리즈 24 - 접근성 향상을 위한 유틸
  • 자바스크립트 실무 유틸 함수 시리즈 23 - 브라우저 환경 감지 및 대응 유틸
  • 자바스크립트 실무 유틸 함수 시리즈 21 - 정규 표현식을 활용한 유틸
  • 자바스크립트 실무 유틸 함수 시리즈 20 - 배열 비교 및 동기화를 위한 유틸
Dongkkase
Dongkkase
개발자로 일하면서 부딪히는 문제풀이가 누군가에게 도움이 되길 바라며
    반응형
  • Dongkkase
    정집사의 개발로그
    Dongkkase
  • 전체
    오늘
    어제
    • All (478)
      • 금융 (61)
      • Programing (295)
        • Algorithm (39)
        • API (2)
        • javascript (122)
        • CSS (8)
        • HTML (10)
        • PHP (15)
        • JAVA (27)
        • JSP (17)
        • JSP 예제 (1)
        • IOS (1)
        • Android (1)
        • Sencha Touche (1)
        • bat file, cmd (0)
        • 디버깅 (2)
        • SQL (21)
        • MS-SQL (1)
        • MySQL (13)
        • 보안 (5)
      • Server (14)
        • Docker (1)
        • Windows (9)
        • Linux (3)
        • jeus (1)
      • Database (6)
      • IT 일반 (15)
      • 리뷰 (38)
        • Book (17)
        • 제품 (2)
        • 영화 소개 (11)
        • 음악 소개 (7)
      • 잡생각 (36)
        • 회고 (3)
        • 컬럼 (4)
        • 자료실 (6)
        • 낙서장 (12)
        • 위시리스트 (2)
        • WOW (1)
        • 덕 (1)
  • 인기 글

  • 최근 댓글

  • 태그

    IT·컴퓨터
    블로그
    자바스크립트
    자바스크립트유틸
    jsp
    js패턴
    기초
    JavaScript
    It
    읽고 싶은 책
    php
    사고 싶은 책
    자바
    Java
    SQL
    IT 관련
    iT's MY LiFE
    디자인패턴
    IT블로그
    위시리스트
Dongkkase
자바스크립트 실무 유틸 함수 시리즈 22 - URL 및 쿼리 파라미터 처리 유틸
상단으로

티스토리툴바