目的:通过正则表达式检查密码是否强大,这个方法在需要注册网页上应该很常用。
环境:ubuntu 16.04 python3.5
思路:需要多个正则表达式,依次检查输入的密码是否符合要求,可以if或者for配合。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
import
re
# 密码至少8位数
rule_1
=
re.
compile
(r
'\w{8,}'
)
# 密码同时包含大小写字母
rule_2
=
re.
compile
(r
'([a-z].*[A-Z])|([A-Z].*[a-z])'
)
# 密码至少有一位数字
rule_3
=
re.
compile
(r
'\d'
)
# 密码不符合要求的显示
NO
=
u
'输入的密码不够强壮!'
# 密码符合要求的显示
YES
=
u
'输入的密码很结实!'
print
(u
'请输入密码:'
)
passwd
=
input
(
'>'
)
if
rule_1.search(passwd)
=
=
None
:
print
(NO)
elif
rule_2.search(passwd)
=
=
None
:
print
(NO)
elif
rule_3.search(passwd)
=
=
None
:
print
(NO)
else
:
print
(YES)
|
这个就是主要部分了,还可以添加特殊字符检查,或者尝试用for循环写也许更简短一点。
本文转自RickyHuL51CTO博客,原文链接:http://blog.51cto.com/rickyh/1941543 ,如需转载请自行联系原作者