Để xác thực email và điện thoại bằng ngôn ngữ nhanh, chúng ta có thể sử dụng nhiều câu lệnh có điều kiện như điều kiện if, nhưng đó là một quá trình dài và có thể chứa 50-100 câu lệnh if để xác thực email.
Vì vậy, thay vì các điều kiện, chúng tôi sẽ sử dụng Biểu thức chính quy. Swift cung cấp NSPredicates mà chúng ta có thể sử dụng để đánh giá một biểu thức chính quy và kiểm tra chúng.
Hãy xem cách chúng ta có thể sử dụng biểu thức chính quy để làm điều tương tự.
Chúng tôi sẽ tạo một hàm mà chúng tôi có thể sử dụng làm phần mở rộng của lớp String hoặc UIViewController để sử dụng trong suốt dự án.
Thêm mã sau vào bất kỳ lớp nào trong Dự án của bạn hoặc tạo một lớp nhanh riêng biệt để thêm tiện ích mở rộng.
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) } }
Tương tự có thể được sử dụng như
override func viewDidLoad() { super.viewDidLoad() print("11f".isValidEmail) print("[email protected]".isValidEmail) print("8892".isValidPhone) print("998-877-2211".isValidPhone) }
Khi chúng tôi chạy đoạn mã trên, chúng tôi nhận được kết quả sau.
false true false true