ruby-on-rails - 非序列数据的正则表达式密码验证

标签 ruby-on-rails regex validation model

我正在尝试验证我的密码是否不包含任何连续字符,例如“123”或“abcd”等。我是正则表达式的新手,我正在尝试通过在我的密码中包含以下代码来实现这一点用户模型:

  validate :password_complexity

  def password_complexity
    if password.present? and not password.match(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d). /)
      errors.add :password, "must include at least one lowercase letter, one uppercase letter, and one digit"
    end
  end

最佳答案

这可能有点超出了正则表达式的范围。我建议查看 zxcvbn ,也已被移植到 a ruby gem of the same name甚至存在为 a devise plugin 。这将为您提供更加可靠的验证。如果您决心了解如何从头开始实现这样的事情,您也可以考虑检查这些项目的代码来获取灵感。

关于ruby-on-rails - 非序列数据的正则表达式密码验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33822704/

相关文章:

xml - 使用 XSD 验证 XML 中的自定义日期和时间

ruby-on-rails - 我如何检查 Resque 中最后一个失败的作业是什么?

ruby-on-rails - Rails wikedPDF 错误 : PDF could not be generated

ruby-on-rails - Rails 使用多个对象渲染部分

javascript - 在没有 DOM 操作或 jQuery 的情况下,如何在 AngularJS 中制定指令来验证电子邮件或密码确认?

c++ - 多个输入验证约束? C++

javascript - 在谷歌地图中编辑并保存更新的多边形坐标

javascript - 电话号码验证器

iphone - ios 中整数值的正则表达式 - 接受多个符号?

java - 将此模式转换为 Pattern.matches(..) 的正则表达式