용도별 정규 표현식 정리

728x90
반응형

etc-image-0
정규표현식 (Regular Expression)

용도별로 자주 쓰는 정규표현식들을 모아 정리해보았다.
문자열 정규식 패턴 테스트시 null이 나오면 패턴에 위배되는 것을 기준으로 작성되었다.

정규표현식 문법에 대한 정리는 아래 링크를 참고하면 된다.

2021.12.02 - [SW/Reference] - [정규표현식(Regular Expression) 정리] - 1. 기본 개념

 

[정규표현식(Regular Expression) 정리] - 1. 기본 개념

1. 서두 필자가 여러 블로그, 책을 더듬어가며 정리한 정규식 문법에 대한 포스팅이다. 내용이 길어질 예정이라 챕터별로 나누어 포스팅하도록 하겠다. 2. 정규표현식(Regular Expression) 이란? 기본

betaman-workshop.tistory.com


1. 아이디

최소 3자리, 최대 30자리의 소문자, 숫자 조합

"/^[a-z]+[a-z0-9]{2,29}$/"

2. 비밀번호

최소 8자리의 문자(대소문자 구분 X), 숫자 조합

"/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/"

최소 8자리의 문자(대소문자 구분 X), 숫자, 특수문자 조합

"/^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$/"

최소 8자리의 대문자, 소문자, 숫자 조합

"/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$/"

최소 8자리의 대문자, 소문자, 숫자, 특수문자 조합

"/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}$/"

3. 이메일

이메일 형식 조합

"/^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*[.]{1}[a-zA-Z]{2,3}$/"

(여담으로 생각보다 여러 블로그에서 이메일 형식 조합 검사에 대한 정규식이 잘못 작성되어있던 경우가 많았다. 이메일 문자열의 '@' 오른쪽 부분인 메일 서버 도메인 부분에 대한 패턴은 최소 " . "이 한번은 나와야해서 " [.]{1} " 부분이 필요한데 이를 생략해서 정상적인 도메인이 아님에도 불구하고 통과하는 경우가 있었다.)

4. 전화번호

핸드폰 번호 형식 조합

"/^\d{3}-\d{3,4}-\d{4}$/"

유선전화 번호 형식 조합 (지역번호를 사용하는 전화번호)

"/^\d{2,3}-\d{3,4}-\d{4}$/"

5. 주민등록번호

주민등록번호 형식 조합

"/^(?:[0-9]{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[1,2][0-9]|3[0,1]))-[1-4][0-9]{6}$/"

6. 여권번호

여권번호 형식 조합

"/^([a-zA-Z]{1}|[a-zA-Z]{2})\d{8}$/"

7. 개인통관고유부호

개인통관고유부호 형식 조합

"/^[P]{1}[0-9]{12}$/i"

8. 한글만

한글만 통과하도록하는 조합

"/^[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]$/"
728x90
반응형