용도별 정규 표현식 정리

728x90
반응형

정규표현식 (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
반응형