Php 如何验证密码

Php 如何验证密码,php,regex,validation,passwords,Php,Regex,Validation,Passwords,可能重复: 我正在尝试编写一个php部分,其中我必须确保密码为: 至少6个字符长 至少有一个大写字母 至少一个小写字母 至少一个数字字符 至少一个非字母数字字符 我必须确保密码与“重新输入密码”部分匹配。我有密码验证和密码重新输入,这是最好的表达方式吗 if ($pass != $repass) { $repassErrorMsg = "Your password does not match the password entered above"; } 我不确定如何验证上述案例的密码。

可能重复:

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

  • 至少6个字符长
  • 至少有一个大写字母
  • 至少一个小写字母
  • 至少一个数字字符
  • 至少一个非字母数字字符
  • 我必须确保密码与“重新输入密码”部分匹配。我有密码验证和密码重新输入,这是最好的表达方式吗

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

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

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

    要检查密码的强度和安全性,您必须混合使用正则表达式和PHP

    检查柱。
    提供的代码描述了您的所有情况。

    我发现这可能有助于

    测试大小写:

    测试你的长度:


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

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

    测试此代码。您尝试了什么?另外,请注意PHP是松散类型的,您至少应该执行
    $pass!==$改为重新通过
    。@Zar好的,函数!==还有!=是一样的吗?@David B谢谢,我也会看看那一页。@GivenPie相反
    1==“1doesntmatter”
    将等于true;不是你所期望的,对吧?(证据:)