用户输入密码,例如'tomorrow1234'
。我知道我可以将它拆分为一个带str_split
的数组,但在此之后,我想查看每个值并搜索它们,例如大小写,数字或空格。
我将如何做到这一点?
答案 0 :(得分:1)
这是我用来验证密码复杂性的旧备用功能。它要求密码包含大写和小写字母,以及非字母字符。长度检查是微不足道的,并在其他地方处理。
$req_regex = array(
'/[A-Z]/', //uppercase
'/[a-z]/', //lowercase
'/[^A-Za-z]/' //non-alpha
);
foreach($req_regex as $regex) {
if( !preg_match($regex, $password) ) {
return NULL;
}
}
我使用数组和循环,因此在必要时可以轻松添加/删除条件。
答案 1 :(得分:1)
听起来像是在尝试验证密码强度。
查看此网页,您的解决方案编写特定答案会非常复杂,但您可以使用正则表达式检查大小写,符号和数字等内容。这个页面有几个你可以根据需要修改的例子。
http://www.cafewebmaster.com/check-password-strength-safety-php-and-regex
这就是我要用的:
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$
检查1个字母,1个数字,1个特殊字符和至少8个字符。