设计宝石-不允许在密码中使用特殊字符

时间:2018-11-28 00:40:36

标签: ruby-on-rails-3 validation devise passwords

我在rails应用程序中使用了devise gem。我发现的用于验证的密码格式是

PASSWORD_FORMAT_USED_CURRENTLY = /\A
  (?=.{10,})          # Must contain 10 or more characters
  (?=.*\d)           # Must contain a digit
  (?=.*[a-z])        # Must contain a lower case character
  (?=.*[A-Z])        # Must contain an upper case character
  (?=.*[[:^alnum:]]) # Must contain a symbol
/x

它可以正常工作,但我希望满足两个密码要求 1)密码必须至少包含6个字母(可以是大写字母,小写字母,数字或所有字母的组合)。

 PASSWORD_FORMAT = /\A
  (?=.{6,})          # Must contain 6 or more characters      
/x

2)第二个条件是密码不应包含任何特殊字符。

我不知道该如何实现 我发现的是,只有我才能强制使用特殊字符,反之亦然。

预先感谢

1 个答案:

答案 0 :(得分:0)

第二个正则表达式本身将处理这两种情况。

 PASSWORD_FORMAT = /\A
  (?=.{6,})          # Must contain 6 or more characters
  (?=.*\w)           # Must contain capital letters, small letters, digits or a combination of all. Must not contain any special characters.
/x