public func isValidPassword(strPassword : String) -> Bool{ let charactersetspecialcharacter = CharacterSet(charactersIn: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ0123456789") if strPassword.rangeOfCharacter(from: charactersetspecialcharacter.inverted) == nil { return false } let capitalLetterRegEx = ".*[A-Z]+.*" let textcapitallattertest = NSPredicate(format:"SELF MATCHES %@", capitalLetterRegEx) let smallLetterRegEx = ".*[a-z]+.*" let textsmalllattertest = NSPredicate(format:"SELF MATCHES %@", smallLetterRegEx) let numberRegEx = ".*[0-9]+.*" let textnumbertest = NSPredicate(format:"SELF MATCHES %@", numberRegEx) if !textcapitallattertest.evaluate(with: strPassword) || !textsmalllattertest.evaluate(with: strPassword) || !textnumbertest.evaluate(with: strPassword){ return false } return true }