let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"
- [A-Z0-9a-z._%+-]+
- 이메일 주소의 로컬 파트(local part)에 해당
- 대문자, 숫자, 소문자, 특수문자 중 하나 이상이 연속으로 나타날 수 있음
- @
- 이메일 주소의 로컬 파트와 도메인 파트(domain part)를 구분하는 구분자
- [A-Za-z0-9.-]+
- 이메일 주소의 도메인 파트에 해당
- 대, 소문자, 숫자, 점(
.
), 대시(-
) 중 하나 이상이 연속으로 나타날 수 있음
- \.
- 도메인 파트와 최상위 도메인(top-level domain)을 구분하는 구분자로서, 점(
.
) 문자를 나타냄
- 백슬래시(
\\
)를 사용하여 점 문자를 이스케이프(escape) 처리
- [A-Za-z]{2,}
- 이 부분은 최상위 도메인을 나타냄
- 대문자(A-Z)와 소문자(a-z) 중 두 글자 이상이 연속으로 나타나야 함
- 이 부분은 최소한 두 글자의 도메인을 허용하며, 더 긴 도메인도 허용
let passwordRegex = "[A-Za-z0-9!_@$%^&+=]{8,20}"
- [A-Za-z0-9!_@$%^&+=]
- 비밀번호에 포함될 수 있는 문자 집합을 정의
- 대문자(A-Z), 소문자(a-z), 숫자(0-9), 특수문자(
!_@$%^&+=
) 중 하나를 나타냄
- 비밀번호는 이 문자들 중 하나 이상을 포함해야 함
- {8,20}