신속한 언어로 이메일과 전화를 검증하기 위해 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("[email protected]".isValidEmail) print("8892".isValidPhone) print("998-877-2211".isValidPhone) }
위의 코드를 실행하면 다음과 같은 결과가 나옵니다.
false true false true