1
votes

Validation des majuscules et des minuscules TextField

Je travaille sur des validations de champs de texte et je ne comprends pas comment valider le champ de texte doit contenir au moins 1 caractère de toutes les catégories suivantes: Caractères anglais majuscules (A - Z). Caractères minuscules anglais (a - z).


2 commentaires

Qu'est-ce qui est déroutant? Où est ton code?


Vérifiez cette stackoverflow.com/questions/ 15132276 /… pourrait être utile


4 Réponses :



1
votes

Crédit: Validation des majuscules et minuscules TextField

Voici le regext de la condition: - Minimum 8 caractères, 1 majuscule et 1 chiffre.

^ (? =. [az]) (? =. [AZ]) (? =. \ d) (? =. [$ @ $!% ? &]) [A-Za-z \ d $ @ $!% ? &] {8,}

extension String {
func isValidPassword() -> Bool {
    let regularExpression = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[$@$!%*?&])[A-Za-z\\d$@$!%*?&]{8,}"
    let passwordValidation = NSPredicate.init(format: "SELF MATCHES %@", regularExpression)

    return passwordValidation.evaluate(with: self)
    }
}

//Example 1

var password = "@Abcdef011" //string from UITextField (Password)
password.isValidPassword() // -> true

//Example 2

var password = "wer011" //string from UITextField 
password.isValidPassword() // -> false


1 commentaires

crédit où le crédit est dû: stackoverflow.com/a/40526112/4063602



0
votes

J'espère que cela vous aidera.

func isValidPassword(testStr:String?) -> Bool {
    guard testStr != nil else { return false }

    // at least one uppercase, 
    // at least one lowercase
    // 8 characters total
    let passwordTest = NSPredicate(format: "SELF MATCHES %@", "(?=.*[A-Z])(?=.*[a-z]).{8,}")
    return passwordTest.evaluate(with: testStr)
}

0 commentaires

0
votes

L'extension simple accepte tout CharacterSet pour vérifier:

"aBc".hasCharacter(in: .lowercaseLetters)
"aBc".hasCharacter(in: .uppercaseLetters)

utilisation:

extension String {
    func hasCharacter(in characterSet: CharacterSet) -> Bool {
        return rangeOfCharacter(from: characterSet) != nil
    }
}


0 commentaires