수치 데이터 검증
정수 및 실수 형식의 입력값을 검증하기 위한 정규식 패턴입니다.
- 전체 숫자
^[0-9]+$ - 자리수 제한
^\d{n}$ # 정확히 n자리 ^\d{n,}$ # n자리 이상 ^\d{m,n}$ # m부터 n자리까지 - 0 및 0이 아닌 시작값
^(?:0|[1-9]\d*)$ # 0 또는 0이 아닌 정수 ^(?:[1-9]\d*)+(?:\.\d{1,2})?$ # 최대 소수점 2자리까지 허용하는 0이 아닌 수 - 부호 포함 정수 및 실수
^[+-]?\d+(?:\.\d+)?$ - 소수점 고정 검증
^\d+(?:\.\d{2})?$ # 정확히 소수점 2자리 양수 ^-?\d+(?:\.\d{1,2})?$ # 소수점 1~2자리 양수/음수 ^\d+(?:\.\d{1,3})?$ # 소수점 1~3자리 양수 - 0이 아닌 정수
^[1-9]\d*$ # 양의 정수 ^-[1-9]\d*$ # 음의 정수 - 부호 방향 제한
^(?:-[1-9]\d*|0)$ # 음수 및 0 ^\d+$ # 양수 및 0 - 부동소수점 형식
^-?(?:\d+)(?:\.\d+)?$ # 일반 부동소수점 ^(?:[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ # 비음성 부동소수점 ^-(?:[1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ # 음수 부동소수점
문자열 검증
한자, 영문, 특수 기호 및 길이 제한을 위한 패턴입니다.
- 한자 전용
^[\u4e00-\u9fa5]*$ - 영문 및 숫자 혼합
^[A-Za-z0-9]+$ ^[A-Za-z0-9]{4,40}$ - 길이 제한 (3~20자)
^.{3,20}$ - 영문자 집합
^[A-Za-z]+$ # 대소문자 혼합 ^[A-Z]+$ # 대문자 전용 ^[a-z]+$ # 소문자 전용 ^[A-Za-z0-9]+$ # 영문+숫자 ^[A-Za-z0-9_]{3,20}$ # 영문+숫자+밑줄 - 한자/영문/숫자/밑줄 허용
^[\u4E00-\u9FA5A-Za-z0-9_]+$ - 특수 기호 제외
^[^%&',;=?$\x22]+$ - 특정 문자 금지 (~)
^[^~\x22]+$
특수 데이터 형식 검증
이메일, URL, 연락처, 식별자 등 시스템에서 빈번하게 요구되는 형식입니다.
- 이메일 주소
^\w+(?:[-+.]\w+)*@\w+(?:[-.]\w+)*\.\w+(?:[-.]\w+)*$ - 도메인 이름
^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$ - URL 형식
^(?:https?|ftp):\/\/[^\s/$.?#].[^\s]*$ - 모바일 번호
^(?:13\d|14[57]|15[0-35-9]|18[0-35-9]|17[0-35-9])\d{8}$ - 유선 전화번호
^(?:0\d{2,3}-)?\d{7,8}$ - 주민등록번호
^\d{6}-[1-4]\d{6}$ - 계정명 (5~16자)
^[A-Za-z][A-Za-z0-9_]{4,15}$ - 기본 비밀번호
^[A-Za-z]\w{5,17}$ - 강력 비밀번호
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[A-Za-z\d]{8,10}$ - 날짜 형식
^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$ - 월 단위
^(?:0?[1-9]|1[0-2])$ - 일 단위
^(?:0?[1-9]|[12]\d|3[01])$ - 통화 형식
^(?!0\d)\d+(?:\.\d{1,2})?$ # 선행 0 금지, 소수점 최대 2자리 ^\d{1,3}(?:,\d{3})*(?:\.\d{1,2})?$ # 천 단위 콤마 지원 - XML 파일 확장자
^[a-zA-Z\-]+\.xml$ - 전각 문자(한자 포함)
[\u4e00-\u9fa5] - 이중 바이트 문자
[^\x00-\xff] - 공백 줄 제거
\n\s*\r - HTML 태그 매칭
<[a-zA-Z][^>]*\>|<\/[a-zA-Z]+\> - 양 끝 공백 제거
^\s+|\s+$ - 우편번호
^[1-9]\d{5}$ - IPv4 주소
^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$