我需要帮助创建密码正则表达式。 密码必须至少包含4个字符,字母(大写和小写),数字和特殊字符 - 无空格。
msn喜欢正则表达式。
答案 0 :(得分:0)
此正则表达式有效 - 请参阅下面的测试数据和输出:
^(?=.{4,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.* )(?=.*[@#$%^&+=i.,!?:;*/])
在passwords.txt中测试数据(只有第一个应该通过):
aB#1
aB #1
ab#1
AB#1
aB#a
aB1a
aB1
mac-osx> grep -P '^(?=.{4,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.* )(?=.*[@#$%^&+=i.,!?:;*/])' passwords.txt
aB#1
你可以在最后一个正面表达式的字符类中添加你需要的额外“特殊字符”。
答案 1 :(得分:0)
使用此:
(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[#&*%])^\S*$
如果letter可以是任何Unicode字母,您可以使用此正则表达式:
(?=.*?\p{Ll})(?=.*?\p{Lu})(?=.*?\d)(?=.*?[#&*%])^\S*$
要添加特殊字符,只需将它们放在[]
答案 2 :(得分:-1)
试试
^.*(?=.{4,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$