我需要一个具有以下要求的正则表达式。
1.最少8个字符。 至少是字母。 3.至少数量。 4.至少是特殊的角色。
我试过这个,但不适合我。
(?=^.{8,}$)(?=.*\d)(?=.*[!@#$%^&*]+)(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$
答案 0 :(得分:1)
您可以使用此正则表达式:
^(?=.{8})(?=.*\d)(?=.*[!@#$%^&*])(?=.*[a-zA-Z]).*$
请注意:
要检查至少8个字符,您可以省略逗号和$
(两者),因为在找到8个字符时无需再查看。
要检查特殊字符(与任何其他字符类一样),您不需要添加+
:当找到一个时,条件已经完成。
在小写和大写之间不应区分(在您的情况下),因此应该合并这些测试。
由于您没有关于积分或换行的条件,因此应删除该测试((?![.\n])
)。
您可能在一开始就想要插入符号,而不是第一组:您希望输入中的所有字符匹配或不匹配。