参见英文答案 >
Reference – Password Validation 1个
我在网上找到了一个脚本,它在JavaScript中有一个密码正则表达式.我仍然想使用它,但为了更安全,我想使用PHP来验证我的密码,但我对正则表达式没用.
我在网上找到了一个脚本,它在JavaScript中有一个密码正则表达式.我仍然想使用它,但为了更安全,我想使用PHP来验证我的密码,但我对正则表达式没用.
要求:
>必须至少8个字符
>必须至少包含1个数字
>必须至少包含一个大写字符
>必须至少包含一个小写字符
如何构造正则表达式字符串以满足这些要求?
解决方法
我发现在一个大的正则表达式中做这件事是一个代码维护的噩梦.拆分它对于查看代码的其他人来说要容易得多,它还允许您提供更具体的错误消息.
$uppercase = preg_match('@[A-Z]@',$password); $lowercase = preg_match('@[a-z]@',$password); $number = preg_match('@[0-9]@',$password); if(!$uppercase || !$lowercase || !$number || strlen($password) < 8) { // tell the user something went wrong }