티스토리 뷰
https://www.youtube.com/watch?v=YRNFEb3lYFk
영상 덕분에 switch랑 enum에 대해서 한번 더 생각해보게 됐다.
c언어 할 때부터 enum을 안쓰다싶이 했더니, 아예 enum이랑 멀어진것같다.
하지만 enum은 꼭 필요한 존재인걸.... 그리고 swift의 enum은 너어어어무 헷깔린다. enum 종류를 왜 case로 표현할까? switch문도 case이면서 ㅂㄷㅂㄷ 정말 마음에 안드는 예약어다 ㅠ
아무튼 본론은 NSPredicate(format: “SELF MATCHES %@”, “[0-9]{2,2}”).evaluate(with: self)
이런 정규표현식으로 내가 원하는 값이 들어왔는지 확인할 수 있다는 내용이었다.
이메일은 “[A-Z0-9a-z._%+-]+@[A-Z0-9a-z._%+-]+\\.[A-Za-z]{2,64}”
이렇게 쓰면 된다. 몇번만 더 쓰면 외울듯
예상할 수 있겠지만, []안에 있는건 쓸 수 있는 글자들, {}안에 있는건 최소 몇글자~최대 몇글자, \\.은 그냥 .이다.
+뒤에 있는 글자는 기준이 되는 글자이자, 그 앞에는 어떤 기준이 있는지도 명시화해줄 수 있는거고...
딱히 어렵지는 않은 내용이었다.
extension String {
var isValidEmail: Bool {
let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}"
let emailPred = NSPredicate(format: "SELF MATCHES %@", emailRegEx)
return emailPred.evaluate(with: self)
}
}
'macOS, iOS' 카테고리의 다른 글
iOS에서 nine patch 하는 법 (0) | 2019.10.22 |
---|---|
iOS13 모달 full screen으로 변경하기 - 스토리보드에서 (0) | 2019.10.22 |
[swift] enum과 switch문 (0) | 2019.10.21 |
struct, class instance 두개를 ==(등호)로 비교하고 싶다면? (0) | 2019.10.17 |
[Swift] 배열도 도는데 index도 찾고싶으면? : enumerated (0) | 2019.10.17 |