我已经在网上看到以下正则表达式。
(?=^.{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代码将很乏味,但是至少您将能够理解所编写的内容。
顺便说一句,这并不意味着对你的抨击。在大多数情况下,正则表达式几乎不适合密码强度验证,但是您的要求比平常更复杂,这是不值得的。另外,您发布的正则表达式是胡扯。永远不要相信您在网上发现的正则表达式。或任何代码,对此。或者, 任何东西 。:-/