import re
def check_password(passwd):
if re.match(r'^(?=.*[A-Za-z])(?=.*[0-9])\w{6,}$',passwd):
print "password %s correct"%passwd
return True
else:
print "password %s is invalid"%passwd
return False
函数check_password检查passwd必须由6个或以上的普通字符组成,必须有一个英文数字,一个英文字母,成功返回True,不符要求返回False
用正则。不过不知道你说的一个大小写字母是指要有一个字母,大小写都可以啊,还是指大写小写字母各一个?
如果是前者:
def check_password(passwd):
p = re.compile(r'^(?=.*?\d)(?=.*?[a-zA-Z]).{6,}$')
return p.match(passwd)
如果是后者:
def check_password(passwd):
p = re.compile(r'^(?=.*?\d)(?=.*?[a-z])(?=.*?[A-Z]).{6,}$')
return p.match(passwd)
import re
def check_digit(pwd):
return len(re.findall('\d', pwd)) > 0
def check_asc_upper(pwd):
return len(re.findall('[A-Z]', pwd)) > 0
def check_asc_lower(pwd):
return len(re.findall('[a-z]', pwd)) > 0
def check_password(password):
return check_digit(password) \
and check_asc_upper(password) \
and check_asc_lower(password)