在 Swift 中检查密码字符串强度标准 [英] Check password string strength criteria in Swift
本文介绍了在 Swift 中检查密码字符串强度标准的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的密码强度标准如下:
My password strength criteria is as below :
8 个字符长度无特殊字符至少 1 个数字至少 1 个字母
8 characters length No Special Characters Atleast 1 numeral Atleast 1 alphabet
推荐答案
更新:Xcode 8.3.2 • Swift 3.1
enum PasswordError: String, Error {
case eightCharacters
case oneUppercase
case oneLowercase
case oneDecimalDigit
}
extension String {
func validatePassword() throws {
guard count > 7
else { throw PasswordError.eightCharacters }
guard rangeOfCharacter(from: .uppercaseLetters) != nil
else { throw PasswordError.oneUppercase }
guard rangeOfCharacter(from: .lowercaseLetters) != nil
else { throw PasswordError.oneLowercase }
guard rangeOfCharacter(from: .decimalDigits) != nil
else { throw PasswordError.oneDecimalDigit }
}
}
<小时>
let myPass = "12345678"
do {
try myPass.validatePassword()
print("valid password action")
} catch let error as PasswordError {
print("Password error:", error)
switch error {
case .eightCharacters:
print("Needs At Least Eight Characters action")
case .oneUppercase:
print("Needs At Least one Uppercase action")
case .oneLowercase:
print("Needs At Least one Lowercase action")
case .oneDecimalDigit:
print("Needs At Least One DecimalDigit action")
}
} catch {
print("error:", error)
}
这篇关于在 Swift 中检查密码字符串强度标准的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文