当前位置: 首页 > 面试题库 >

正则表达式用于字母数字,无特殊字符SWIFT iO

仲浩旷
2023-03-14
问题内容

我的密码强度标准如下:

长度为8个字符否特殊字符Atleast 1个数字Atleast 1个字母


问题答案:

更新: 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)
}


 类似资料:
  • 我需要允许字段使用字母数字和某些其他字符。我正在使用这个正则表达式: 允许的特殊字符是 “_”。我做错了什么?

  • 我创建了以下正则表达式: 它应该接受字母数字、空格和撇号。输入应至少为1个字符,最多为24个字符。但它也只接受带撇号和空格的输入(例如,

  • 我正在努力与正则表达式和需要它的程序。 输入只需要字母数字键,还需要(只允许逗号、:、空格、/、-在特殊字符中) 据我所知,我已经尝试=(^[a-zA-Z0-9,:\S/-]*$),如果我错了,请纠正我。a-zA-Z0-9-字母数字键.,:-逗号和冒号-S-Space/-我不确定如何表示正斜杠,因此我对其进行了转义--破折号也不确定是否需要转义它。 如果可以更正并解释每个部分,将不胜感激。 提前谢

  • 我正在尝试编写一个正则表达式来捕获大写、小写字母和数字,特殊字符,最后是国际字符。我所说的国际字符是指像: ¿ â ê î ô û Â Ê Î Ô Û. 我完成了90%,这是我的表达式,它涵盖了,大写,小写,字母,数字和特殊字符,我正在努力将国际字符的正则表达式合并到我当前的正则表达式中,请参阅下面的表达式: 大写、小写、字母、数字和特殊字符: 国际字符的Regex: 我要保证国际字的长度限制在3

  • 我试图为密码字段创建一个验证,它只允许字符和 时有什么区别,以及哪些字符来自

  • 我的输入字段的密码验证要求如下:“密码应至少包含一个大写字母、一个小写字母、一个数字或特殊字符”。 这是1个大写、1个小写、1个数字和一个特殊字符的正则表达式