我有一个以下的正则表达式,但它似乎没有按预期工作。正则表达式有一个数字或特殊字符
我想要一个小写字母,一个大写字母,一个数字或一个特殊字符。
长度应该是最小8个字符。
(^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).*$)
谁能帮助请
我有一个以下的正则表达式,但它似乎没有按预期工作。正则表达式有一个数字或特殊字符
我想要一个小写字母,一个大写字母,一个数字或一个特殊字符。
长度应该是最小8个字符。
(^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).*$)
谁能帮助请
我看到两个问题。你的数字说明符前面有一个双反斜杠 - 使它成为一个单一的。你也没有“特殊字符”的表达。我添加了一个表达式来包含一些特殊字符 - 您可以根据自己的需要进行调整(小心 - 一些有特殊含义,例如-
)。
示范在http://regex101.com/r/kM5xW6
表达式(更新,以反映“一个数字或一个特殊字符”):
(^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$%^&*_0-9]).*$)
这至少需要8个字符,小写字母,大写字母,和一个来自列表[email protected]#$%^&*_0-9
(这是“0
和9
之间的一个特殊字符之一)中的字符。
更有效一点模式=的 Demo
可能重复[复杂的密码正则表达式(http://stackoverflow.com/questions/3466850/complex-password-regular-expression) – damienc88