我发现在一个大的正则表达式中执行此操作有点像代码维护的噩梦。将其拆分起来很容易让其他人查看您的代码,并且还可以提供更具体的错误消息。
$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}


