我要编写一个正则表达式来满足以下要求
- 至少一个字符
- 至少一位数字
- 长度必须为 8
- 至少一个特殊字符(可以是任意特殊字符)
前三个很简单,但找不到一种方法来限制至少特殊字符(任何可能的特殊字符,如 ',":*^%>?
等)。
最佳答案
您可以通过组合前瞻来解决这些问题:
(?=.*[a-zA-Z])
(?=.*\d)
.{8}
(?=.*[^\da-zA-Z])
最后一个只需要一个非字母和非数字,这可能是迄今为止指定您想要某种“特殊”字符的最简单方法。
所以最后你得到了
^(?=.*[a-zA-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8}$
关于javascript - 满足特定要求的密码正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15386778/