当前位置: 首页 > 面试题库 >

PHP正则表达式,用于强大的密码验证

邵浩大
2023-03-14
问题内容

我已经在网上看到以下正则表达式。

(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$

仅当字符串:

   * contain at least (1) upper case letter
   * contain at least (1) lower case letter
   * contain at least (1) number or special character
   * contain at least (8) characters in length

我想知道如何转换此正则表达式,以便将字符串检查为

* contain at least (2) upper case letter
* contain at least (2) lower case letter
* contain at least (2) digits
* contain at least (2) special character
* contain at least (8) characters in length

好吧,如果它至少包含2个大写,小写,数字和特殊字符,那么我就不需要8个字符的长度。

特殊字符包括:

`〜!@#$%^&*()_- + = [] \ | {} ;:’“。,/ <>?


问题答案:

适应该正则表达式的最佳方法是将其剔除并编写一些代码。所需的正则表达式非常长且复杂,编写后两小时您将无法阅读。等效的PHP代码将很乏味,但是至少您将能够理解所编写的内容。

顺便说一句,这并不意味着对你的抨击。在大多数情况下,正则表达式几乎不适合密码强度验证,但是您的要求比平常更复杂,这是不值得的。另外,您发布的正则表达式是胡扯。永远不要相信您在网上发现的正则表达式。或任何代码,对此。或者,
任何东西 。:-/



 类似资料:
  • 问题内容: 谁能帮助我创建用于密码验证的正则表达式。 条件为“密码必须包含8个字符和至少一个数字,一个字母和一个唯一字符,例如 问题答案:

  • 问题内容: 我在网上找到了一个脚本,并且在JavaScript中有一个密码正则表达式。我仍然想使用它,但是为了获得更高的安全性,我也想使用PHP来验证我的密码,但是我对正则表达式毫无用处。 要求: 必须至少8个字符 必须包含至少1个数字 必须至少包含一个大写字符 必须至少包含一个小写字符 如何构造正则表达式字符串以满足这些要求? 问题答案: 我发现在一个大的正则表达式中执行此操作有点像代码维护的噩

  • 要求: 在我的角度应用程序中,用户密码应符合以下要求, < li >最少八个字符 < li >至少一个大写字母 < li >至少一个小写字母 < li >至少一个号码 < li >至少一个特殊字符 问题: 对于上述要求,我使用下面的正则表达式。 前任:1F4@sf5s6,18F4@sf5s6 问题: Q1:这个正则表达式不符合我的要求吗? Q2:如何解决这个问题? Q3:有没有其他方法来实现这个要

  • 本文向大家介绍js正则表达式验证密码强度【推荐】,包括了js正则表达式验证密码强度【推荐】的使用技巧和注意事项,需要的朋友参考一下 效果图: 代码如下: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 我需要检查密码是否至少包含: 一个号码 一个小写字符 一个大写字符 一个特殊符号(.,@etc) 我在C#中有以下内容: 但这并不有效: 我错过了什么? 更新 我正在将其与系统.组件模型.数据注释一起使用来验证模型属性:

  • 我有以下密码验证规则: 至少8个字符 我试图找到这个规则的正则表达式模式,最接近的是: 但这并不适用于所有规则。 我对正则表达式是新手,如果有任何可以学习正则表达式的资源,我将不胜感激。