我想要一个正则表达式来检查:
密码只包含一个大写字符,至少包含一个特殊字符(#, @, -
),密码长度必须至少为8个符号!
(?=.[A-Z]{1}?)(?=.*[#@-])[A-Za-z#@-]{8,}
如何为包含完全一个大写字符的密码编写?
答案 0 :(得分:1)
试试这个:
^(?=[^A-Z]*[A-Z][^A-Z]*$)(?=.*[#@-])[A-Za-z#@-]{8,}$
演示:https://regex101.com/r/Fr6znT/1
故障:
(?=[^A-Z]*[A-Z][^A-Z]*$)
在它的位置意味着:“整个表达式应该是'任意数量的非大写字符',后跟'一个大写字符',后跟'任意数量的非大写字符““ 答案 1 :(得分:0)
试试这个:
^(?=(?=.*[@#-]{1,})[\S]{8,})([a-z@#-]*[@#-]*[A-Z][a-z@#-]*[@#-]*)$