Tar*_*our 5 php regex passwords character
我是正常表达的新手,我做了一个研究,并得到一点了解我需要的是一个符合这些规格的密码
我得到的是这个
^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)(?!\S)$
Run Code Online (Sandbox Code Playgroud)
它匹配1,2,3规格而不是4我在4上尝试了不同的东西,但我失败了
谁能帮我 ?
你很近.这似乎解决了你的问题:
preg_match("/^(?=.*[0-9])(?=.*[a-z])(\S+)$/i", $password)
Run Code Online (Sandbox Code Playgroud)
我做了两处改动.
i
修饰符稍微缩短(匹配不区分大小写).这允许删除AZ`.(?!\S)
并不能真正帮助在这里,我想.相反,您可以简单地使您的实际匹配仅包含非空格字符(\S+
).这也将立即允许您的密码中的特殊字符(实际上是空格的任何内容).如果您只想允许某组特殊字符,请将\S
包含字母,数字和您想要允许的所有字符的字符类替换为.顺便说一下,如果你想确保你的密码有一定的最小长度,你可以将其+
改为{8,}
例如.