一尘不染

Firebase身份验证:密码必须包含大写字母

swift

我的应用程序与Firebase数据库和身份验证链接。

用户创建帐户时,唯一的密码要求是6个字符。无论如何,我可以使密码更复杂,例如使它们具有大写字母和数字。

我可以直接从firebase中执行此操作,还是需要从我的代码中执行此操作?


阅读 328

收藏
2020-07-07

共1个答案

一尘不染

使用此功能。它包括6-15的范围,即最少6个字符和最多15个字符。分别为一个大写字母和一个数字。

func isValidPasswordString(pwdStr:String) -> Bool {

    let pwdRegEx = "(?:(?:(?=.*?[0-9])(?=.*?[-!@#$%&*ˆ+=_])|(?:(?=.*?[0-9])|(?=.*?[A-Z])|(?=.*?[-!@#$%&*ˆ+=_])))|(?=.*?[a-z])(?=.*?[0-9])(?=.*?[-!@#$%&*ˆ+=_]))[A-Za-z0-9-!@#$%&*ˆ+=_]{6,15}"

    let pwdTest = NSPredicate(format:"SELF MATCHES %@", pwdRegEx)
    return pwdTest.evaluate(with: pwdStr)
}

对于有效的密码字符串,此函数将返回true

2020-07-07