强口令检测
写一个函数,它使用正则表达式,确保传入的口令字符串是强口令。强口令的
定义是:长度不少于 8 个字符,同时包含大写和小写字符,至少有一位数字。你可
能需要用多个正则表达式来测试该字符串,以保证它的强度
# -*- coding:utf-8 -*-
import re
class Check_passwd():
def __init__(self,passwd):
self.passwd = passwd
def check_length(self):
"""
密码长度不少于8个字符
:return:
"""
if len(self.passwd) >= 8:
print("密码长度满足要求")
return 1
else:
print("密码长度不少于8位,请重新设置")
return 0
def check_number(self):
"""
密码至少包含一位数字
:return:
"""
re_number = re.compile(r'[\d]')
if re_number.findall(self.passwd):
print("密码中含有数字满足要求")
return 1
else:
print("密码中至少包含一位数字,请重新设置")
return 0
def check_letter(self):
"""
密码同时包含大小写字符
:return:
"""
re_upper = re.compile(r'[A-Z]')
re_lower = re.compile(r'[a-z]')
if re_lower.findall(self.passwd) and re_upper.findall(self.passwd):
print("密码含有大小写字母满足要求")
return 1
else:
print("密码中必须同时含有大小写字母,请重新设置")
return 0
while True:
passwd = input("请设置密码:")
if Check_passwd(passwd).check_length() and Check_passwd(passwd).check_letter() and Check_passwd(passwd).check_number():
break
else:
continue
运行结果:
# -*- coding:utf-8 -*-
# 写一个函数,它接受一个字符串,做的事情和 strip()字符串方法一样。如果只
# 传入了要去除的字符串,没有其他参数,那么就从该字符串首尾去除空白字符。否
# 则,函数第二个参数指定的字符将从该字符串中去除。
import re
def re_strip(strings, way = ' '):
"""
实现和strip()一样的功能
:return:
"""
if way == ' ':
re_space = re.compile(r'^\s+|\s+$')
print(re_space.sub('',strings))
return re_space.sub('',strings)
else:
re_char = re.compile(way)
print(re_char.sub('',strings))
return re_char.sub('',strings)
re_strip(' aa 1231112 2223','2')
re_strip(' 123')
re_strip('@!@345 ')
re_strip(' 111 ')
运行结果: