신속한 언어로 이메일과 전화를 검증하기 위해 if 조건과 같은 여러 조건문을 사용할 수 있지만 이는 긴 프로세스이며 이메일 검증을 위해 50-100개의 if 문이 포함될 수 있습니다.
따라서 조건부 대신 정규식을 사용합니다. Swift는 정규 표현식을 평가하고 테스트하는 데 사용할 수 있는 NSPredicates를 제공합니다.
정규 표현식을 사용하여 동일한 작업을 수행하는 방법을 살펴보겠습니다.
프로젝트 전체에서 사용할 String 클래스 또는 UIViewController의 확장으로 사용할 수 있는 함수를 만들 것입니다.
프로젝트의 모든 클래스에 다음 코드를 추가하거나 별도의 swift 클래스를 만들어 확장 프로그램을 추가하세요.
extension String {
var isValidEmail: Bool {
let regularExpressionForEmail = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}"
let testEmail = NSPredicate(format:"SELF MATCHES %@", regularExpressionForEmail)
return testEmail.evaluate(with: self)
}
var isValidPhone: Bool {
let regularExpressionForPhone = "^\\d{3}-\\d{3}-\\d{4}$"
let testPhone = NSPredicate(format:"SELF MATCHES %@", regularExpressionForPhone)
return testPhone.evaluate(with: self)
}
} 같은 것을 사용할 수 있습니다
override func viewDidLoad() {
super.viewDidLoad()
print("11f".isValidEmail)
print("abc@xuyz.com".isValidEmail)
print("8892".isValidPhone)
print("998-877-2211".isValidPhone)
} 위의 코드를 실행하면 다음과 같은 결과가 나옵니다.
false true false true
