박터지는 인턴 생활을 보내던 어느 날,,
매니저님이 이메일 인증 페이지를 구현해보라고 하셨다.
이메일은 aaa@aa.aa
의 형식으로 입력 받아야 하는데, 어떻게 해야할까?
바로 정규표현식을 사용하면 된다.
네? 정규표현식이 뭐냐구요?
정규표현식(Regex)이란, 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어이다.
라고 하는데..
보통 문자열을 치환하거나 검색, 제한할 때 사용한다.
사용 방법은 이분이 아주 잘 정리해주셨다.
쓰기 귀찮아서 그런거 아님
그럼 이제 코드에 적용 해보자!
func checkEmail(str: String) -> Bool {
let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}"
return NSPredicate(format: "SELF MATCHES %@", emailRegex).evaluate(with: str)
}
코드의 정규표현식을 해석해보자면...
[A-Z0-9a-z._%+-]
: 대소문자, 숫자, 특수문자 사용 가능+@
: 사이에 @
무조건 필수[A-Za-z0-9.-]
: 대소문자, 숫자 사용 가능+\\.
: 사이에 .
무조건 필수[A-Za-z]
: 대소문자 사용 가능{2,6}
: 앞의 [A-Za-z]
를 2~6 자리로 제한그래서
이렇게 만들어써용!