Programing/javascript

숫자와 쉼표(,)만 입력 가능하게 하는 jQuery 입력 필터링

2025. 4. 21. 16:21
반응형

사용자 입력값을 제어하는 것은 웹 프론트엔드에서 아주 중요한 작업입니다. 오늘은 숫자(0-9)와 쉼표(,)만 입력할 수 있도록 제한하는 jQuery 코드를 소개하고, 어떻게 활용할 수 있는지 자세히 설명드리겠습니다.


✨ 코드 원문

$(document).on('keyup focusout', '.onlynumber', function(){
    $(this).val($(this).val().replace(/[^0-9,]/gi, ""));
});

✨ 코드 설명

  • $(document).on(...) : 동적으로 생성된 요소도 포함하여 .onlynumber 클래스를 가진 input 요소에 이벤트를 바인딩합니다.
  • 이벤트 종류는 keyup과 focusout입니다. 즉, 키를 누를 때마다 또는 input에서 포커스가 빠져나올 때마다 필터링을 실행합니다.
  • replace(/[^0-9,]/gi, "") : 정규표현식을 이용해 숫자(0-9)와 쉼표(,)를 제외한 모든 문자를 제거합니다.

✨ 정규표현식 분석

/[^0-9,]/gi
  • [^...] : 괄호 안의 문자들을 제외한 나머지를 선택합니다.
  • 0-9 : 숫자 0부터 9까지 허용
  • , : 쉼표 허용
  • gi : 대소문자 구분 없이(global), 여러 번 반복 검사 (사실 숫자에 대소문자는 무관하지만 안전을 위해)

결과적으로 숫자와 쉼표만 입력 가능하게 만듭니다.


✨ 사용 예시

<input type="text" class="onlynumber" placeholder="숫자와 , 만 입력할 수 있어요" />

위 input 박스에 입력되는 문자열은 자동으로 숫자와 쉼표만 남게 됩니다. 예를 들어 a1b2c3,4.5를 입력하면 123,45로 정리됩니다.


✨ 활용처

  • 금액 입력 필드: 1,000, 12,345 등 숫자와 쉼표로 구분되는 값 입력 시
  • 전화번호 입력 (단, 이 경우에는 -도 허용해야 하므로 정규식을 수정해야 함)
  • 통계 필터, ID 나열 등 숫자 입력이 중요한 상황에 활용 가능

✨ 개선 팁

  1. 정규식의 g 플래그만 사용해도 됨: 대소문자가 없는 숫자 입력이기 때문에 i는 생략 가능
  2. 다른 기호 추가 허용: 필요에 따라 .(소수점), -(음수 기호) 등을 정규식에 추가할 수 있습니다.
  3. 실시간 포맷팅 적용: 금액 입력 시 자동 쉼표 포맷팅이 필요하다면 input 이벤트를 활용하고 포맷 함수와 조합해 사용 가능

✨ 결론

위 jQuery 코드는 간단하면서도 실용적인 입력 제한 방식입니다. 숫자와 쉼표만 입력되도록 제한하고자 할 때 매우 유용하며, 다양한 입력 필드에서 활용 가능합니다. 필요한 경우 정규식만 수정하여 다양한 요구사항에 맞게 확장할 수 있습니다.

반응형

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

긴 문자열 중간 생략을 위한 JavaScript 함수  (0) 2025.04.21
금액을 10원 단위로 반올림, 올림, 내림하는 JavaScript  (0) 2025.04.21
이메일 입력 필드를 위한 한글 및 공백 제거 jQuery  (0) 2025.04.21
가격 입력 필드를 위한 jQuery 자동 포맷팅 및 제한(금액만)  (0) 2025.04.21
한글만 입력 가능한 입력 필터링 jQuery (한글 + 영문 추가)  (1) 2025.04.21
자바스크립트 Flyweight Pattern  (1) 2025.04.19
자바스크립트 Bridge Pattern  (0) 2025.04.19
자바스크립트 Composite Pattern  (0) 2025.04.19
'Programing/javascript' 카테고리의 다른 글
  • 이메일 입력 필드를 위한 한글 및 공백 제거 jQuery
  • 가격 입력 필드를 위한 jQuery 자동 포맷팅 및 제한(금액만)
  • 한글만 입력 가능한 입력 필터링 jQuery (한글 + 영문 추가)
  • 자바스크립트 Flyweight Pattern
Dongkkase
Dongkkase
개발자로 일하면서 부딪히는 문제풀이가 누군가에게 도움이 되길 바라며
    반응형
  • Dongkkase
    정집사의 개발로그
    Dongkkase
  • 전체
    오늘
    어제
    • All (479)
      • 금융 (61)
      • Programing (296)
        • 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)
        • 공유 (1)
      • 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)
  • 인기 글

  • 최근 댓글

  • 태그

    읽고 싶은 책
    사고 싶은 책
    SQL
    It
    자바스크립트유틸
    js패턴
    php
    IT 관련
    디자인패턴
    IT·컴퓨터
    iT's MY LiFE
    jsp
    기초
    자바스크립트
    블로그
    Java
    JavaScript
    자바
    위시리스트
    IT블로그
Dongkkase
숫자와 쉼표(,)만 입력 가능하게 하는 jQuery 입력 필터링
상단으로

티스토리툴바