正则表达式密码PHP

参见英文答案 > Reference – Password Validation                                    1个
我在网上找到了一个脚本,它在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
}
上一篇:Android:用户登录并保持会话直到注销(需要批准)


下一篇:当前密码未知时重置MySQL root密码