(?=.*[a-z]) // use positive look ahead to see if at least one lower case letter exists
(?=.*[A-Z]) // use positive look ahead to see if at least one upper case letter exists
(?=.*\d) // use positive look ahead to see if at least one digit exists
(?=.*\W]) // use positive look ahead to see if at least one non-word character exists
3 回答
如果您需要一个正则表达式,请尝试:
一个简短的解释:
我同意SilentGhost,
\W
可能有点宽泛 . 我用这样的字符集替换它:[-+_!@#$%^&*.,?]
(当然可以添加更多!)Bart Kiers,你的正则表达式有几个问题 . 最好的方法是:
无论是在开头,结尾还是在中间,你都会以这种方式进行搜索 . 在你有我复杂的密码有很多麻烦 .
您可以分别匹配这三个组,并确保它们都存在 . 此外,
[^\w]
似乎有点过于宽泛,但如果这是你想要的,你可能想用\W
替换它 .