최종 유효성은 이메일 인증으로 확인하지만, UX를 생각하면 발송 전 사전 검증 책임이 있다.
^(?!.*\\.\\.)[a-z0-9](?:[a-z0-9._-]{0,62}[a-z0-9])?@(?:(?!-)[a-z0-9-]{2,}(?<!-)\\.)+[a-z]{2,}$
| 이메일 | 설명 |
|---|---|
| john.doe@example.com | 기본 형식, 점(.) 포함 |
| user_123-name@mail-server.co.kr | 다양한 허용 문자 (_, -, 숫자 등) 사용 |
| abc.def@sub-domain.example.com | 다중 서브도메인, 세그먼트 모두 2자 이상 |
| a1234567890.b-c_d@abc-def.co.uk | 다양한 구성, 규칙 만족 |
| simple@domain.co | 도메인 점(.) 포함, 세그먼트 ≥ 2자 |
| 이메일 | 설명 |
|---|---|
| userexample.com | @ 없음 |
| user@ex_ample.com | 도메인에 밑줄(_) 포함 |
| user@domain | 도메인에 점(.) 없음 |
| user@d.com | 도메인 세그먼트 중 하나가 1자 (예: d) |
| user@domain.c | 최상위 도메인(TLD)이 1자 |
| .user@domain.com | 로컬 파트 시작이 점(.) |
| user..name@domain.com | 로컬 파트에 연속된 점(..) |
| user@-domain.com | 도메인 시작이 하이픈(-) |
| user@domain-.com | 도메인 끝이 하이픈(-) |
영문 대소문자, 숫자, 특수문자 중 각 1개 이상 포함하고, 공백 없이 8~64자 이내의 비밀번호를 허용한다.
^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\w\\s])\\S{8,64}$

KISA 안전한 패스워드 기준
| 예시 | 설명 |
|---|---|
| abcd1234! | 대문자 없음 |
| ABCD1234! | 소문자 없음 |
| AbcdEfgh | 숫자 없음 |
| Abcd1234 | 특수문자 없음 |
| Ab1! | 길이 부족 |
| Abcd1234!@#$%^&*123456781234567812345678123456781234567812345678! | 길이 초과 (65자) |