【发布时间】:2013-08-11 19:06:05
【问题描述】:
我是正则表达式的新手。
我需要使用 php 验证密码,并使用 Regex 使用以下密码策略:
密码:
- 必须至少包含 8 个字符
- 必须有 2 个数字
- 允许的符号是:
! @ # $ % *
我尝试了以下方法:/^(?=.*\d)(?=.*[A-Za-z])[0-9A-Za-z!@#$%]$/
【问题讨论】:
-
你可以在这里发布正则表达式 you have tried 并且不起作用吗?
-
@PetrR。编辑问题
-
@NullPoiиteя 请阅读 Null 问题
-
Symbols allowed are : ! @ # $ % *部分困扰着我。为什么你只允许某些符号?您应该允许整个字符集,因为您将密码传递给像 bcrypt 这样的库,无论如何这会产生一个哈希值。你是根据你的密码,对吧? -
以前的问题内容非常相似,例如stackoverflow.com/questions/1615078/… 和 stackoverflow.com/questions/7245267/… ...还要注意许多“为了
$dmr的爱,不要那样做”cmets。