我有尝试检查密码的复杂下面的PHP代码然而,当我运行它,我似乎并没有得到有效的结果(见下文)PHP密码复杂性检查代码
while (odbc_fetch_row($rs)) {
$r1='/[A-Z]/'; //Uppercase
$r2='/[a-z]/'; //lowercase
$r3='/[[email protected]#$%^&*()-_=+{};:,<.>]/'; // whatever you mean by 'special char'
$r4='/[0-9]/'; //numbers
if (!preg_match_all($r4, odbc_result($rs,"U_password"))) {
echo "Password doesn't contain numbers: " . odbc_result($rs,"U_Mailbox") . "@" . odbc_result($rs,"U_Domain") . " " . odbc_result($rs,"U_password") . "<br>\n";
}
if (!preg_match_all($r2, odbc_result($rs,"U_password"))) {
echo "Password doesn't contain lowercase letters: " . odbc_result($rs,"U_Mailbox") . "@" . odbc_result($rs,"U_Domain") . " " . odbc_result($rs,"U_password") . "<br>\n";
}
if (!preg_match_all($r1, odbc_result($rs,"U_password"))) {
echo "Password doesn't contain uppercase letters: " . odbc_result($rs,"U_Mailbox") . "@" . odbc_result($rs,"U_Domain") . " " . odbc_result($rs,"U_password") . "<br>\n";
}
}
输出:
密码不包含小写字母:[email protected] lowercasepw
密码不包含足够的数字:[email protected] 8B_dip + 3
密码不包含大写字母:[email protected] Barrywidg @ t1o
(顺便说一句,上面的密码是不真实的。我只是将小写字母替换为其他小写字母,其他大写字母替换为大写字母,其他数字替换为其他数字。)
所以我很困惑,为什么我的代码不工作。其他人可以帮忙吗?
感谢 布拉德
谢谢 - 这似乎是它。 – Brad 2010-12-17 23:44:57