【发布时间】:2014-08-20 09:44:42
【问题描述】:
我需要一个密码的正则表达式,其中条件类似于
1.密码必须至少有 7 个但不超过 10 个字符。
2。密码必须至少包含一个大写字母,一个小写字母 大写字母、一位数字和一个标点符号。(例如,a-z, A-Z,0-9,!@#$%^&*()_+|~-=`{}[]:";'?,./)
我尝试使用:^(?=.{7,10})(?=.*[a-zA-Z])(?=.*\d)(?=.*[!@#$%^&*()_+|~={}:";'?,./-][])$`
但标点部分解释不清楚,我在http://regex101.com/测试时
标点符号解释似乎坏了,可以解释一下原因并帮助我完成这个。
【问题讨论】:
-
你的意思是regex101.com/r/qE6oS6/8?
-
您限制 10 个字符的任何充分理由?...许多有安全意识的人将拥有/想要一个 12、14、16+ 个字符的密码。
-
@scunliffe 好点,谢谢你,我们会讨论你的观点
-
@Suganthan 因为您正在对密码进行散列(和盐渍(希望!!)),所以应该没有理由限制它的上限字符约束。
-
@stuXnet 我没明白你的意思,你能说得简单点吗。