У меня есть одно текстовое поле для забытого пароля, здесь пользователь вводит либо номер мобильного телефона, либо адрес электронной почты, затем мы отправляем на него OTP.
Я пытаюсь проверить это текстовое поле с помощью моего кода, но он не работает Если кто-нибудь подскажет, пожалуйста, найдите мой код со следующим.
Он должен быть действителен для формата mailid или номера телефона.
if emaiTF.text == "" {
print("Enter either valid phone or email")
}else if let validphone = emaiTF.text, validphone.isValidPhone() || validphone.isValidEmail() {
print("Enter either valid phone or email")
}else{
forGotPasswordApi()
}
мои методы проверки, такие как следующие.
extension String {
func isValidEmail() -> Bool {
// here, `try!` will always succeed because the pattern is valid
let regex = try! NSRegularExpression(pattern: "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$", options: .caseInsensitive)
return regex.firstMatch(in: self, options: [], range: NSRange(location: 0, length: count)) != nil
}
// vrify Valid PhoneNumber or Not
func isValidPhone() -> Bool {
let phoneRegex = "^[0-9]{10}$";
let valid = NSPredicate(format: "SELF MATCHES %@", phoneRegex).evaluate(with: phoneRegex)
return valid
}
}