-2

可能重复:
使用正则表达式验证密码

我正在尝试编写一个 php 部分,我必须确保密码是:

  1. 至少 6 个字符长
  2. 至少有一个大写字母
  3. 至少一个小写字母
  4. 至少一个数字字符
  5. 至少一个非字母数字字符

我必须确保密码与“重新输入密码”部分匹配。我有密码和密码重新输入的验证,这是最好的表达方式吗?

if ($pass != $repass)
{
  $repassErrorMsg = "Your password does not match the password entered above";
}

我不确定如何验证上述情况的密码。我知道如何使用 RegEx 来验证实体格式,但如果格式灵活,我不确定如何验证以下情况。如何表达我的密码 RegEx 以验证用户选择的密码的任何案例场景(例如至少一个数字)。他可以在密码文本框中的任何位置输入任何案例场景。

4

4 回答 4

1

要检查密码的强度和安全性,您必须混合使用 Regex 和 PHP。

检查这篇文章。提供的代码描述了您的所有条件。

于 2012-09-26T21:14:29.997 回答
0

我使用PHP-Password类 - 它可以满足您的所有要求。

于 2012-09-26T21:10:38.247 回答
0

我发现这可能会有所帮助...

测试你的大写和小写:

检查密码的大小写和符号

测试你的长度:

在 PHP 中检查字符串长度

于 2012-09-26T21:16:34.210 回答
0

使用正则表达式非常简单>>

preg_match('/^(?=.{6})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[\W_])/', $password))

在此处测试此代码。

于 2012-09-26T21:54:48.157 回答