Проверка электронной почты и пароля в swift5

#ios #swift #swift5

#iOS #swift #swift5

Вопрос:

проверка электронной почты и пароля в ios swift5:

ошибка:

1. Не удается найти ‘isValidEmail’ в области видимости

2. Объявление действительно только в области файла

 let email = txtemail.text
guard txtemail.validate([isValidEmail]) else {
    print("Invalid email/password. Please try again.")
    return
}
 
 extension String {
//Validate Email
    var isEmail : Bool {
        do {
            let regex = try NSRegularExpression(pattern: "[A-Z0-9a-z._% -] @[A-Za-z0-9.-] \.[A-Za-z]{2,}", options: .caseInsensitive)
            return regex.firstMatch(in: self, options: NSRegularExpression.MatchingOptions(rawValue: 0), range: NSMakeRange(0, self.count)) != nil
        } catch {
            return false
        }
    }

    var isAlphanumeric: Bool {
        return !isEmpty amp;amp; range(of: "[^a-zA-Z0-9]", options: .regularExpression) == nil
    }
}
 

Ответ №1:

Вы расширили строку, поэтому вам следует вызвать ее проверку. Также txtemail , вероятно @Outlet , поэтому нам нужно развернуть его текст. После этого мы проверяем строку, если она действительна.

 guard let email = txtemail.text, email.isEmail else {
    print("Invalid email/password. Please try again.")
    return
}