【问题标题】:Firebase Password Validation allowed regexFirebase 密码验证允许正则表达式
【发布时间】:2016-10-30 01:47:53
【问题描述】:

我想知道是否有人知道 Firebase 的电子邮件和密码身份验证 API 的官方允许密码。

目前我知道有

  • 至少需要 6 个字符
  • 允许从头到尾
  • 允许 A-Z
  • 0-9 允许
  • 允许特殊字符 ~`!@#$%^&*()-_+=|}]{["':;?/>。
  • 允许空格

如果是这种情况,我这边用于验证的正则表达式是否只是 {6,} ? (或者我可以只检查字段的长度)

编辑:我认为它类似于Google's normal password requirements,但只需要 6 个字符而不是 8 个。

【问题讨论】:

    标签: regex firebase firebase-authentication


    【解决方案1】:

    您的理解是正确的 - 唯一的要求是至少 6 个字符。

    但是,如果您正在构建 Android/iOS 应用程序,我建议 - 不要 - 对应用程序中的验证逻辑进行硬编码,因为新用户注册请求由 Firebase 身份验证服务器处理。

    【讨论】:

    • 好点,如果密码无效,我会让 createUserWithEmail 的响应“错误”显示警报/消息。
    • 允许的最大密码长度是多少?
    【解决方案2】:

    适用于在发送到 firebase 之前寻找正则表达式来验证密码的任何人。

    我建议使用这种模式,因为它通过 minimum 资格!在您发送密码后,还可以通过 Firebase 验证和验证密码 Firebase 云...所以请保持简单。

    let pattern: String = "(?=.*[0-9a-zA-Z]).{6,}"
    
    1. 最少 6 个字符:{6,}
    2. 允许的任何字符:(?=.*[0-9a-zA-Z])

    【讨论】:

    • 我使用(?=.*[0-9]+)(?=.*[a-z]+)(?=.*[A-Z]+).{6,}(实际测试:regexr.com/620qv
    • 我的模式是你的简写@PsychoX
    • @PsychoX 正则表达式在您的评论中不匹配,如果您不包含数字(例如,Helloo9 匹配但Hellooo 不匹配),但答案中的一个匹配两者。
    • 它不是简写。我提供的模式需要至少一位数字和至少一个大小字符。
    猜你喜欢
    • 2011-05-06
    • 2016-10-19
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多