38.用户名和密码格式校验程序
# * 要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
# * 用户名长度6-20,用户名必须以字母开头
# * 密码长度至少6位,不能为纯数字,不能有空格
# 方式1:
def main1():
useradd = input("请输入用户名:")
useradd1 = re.match(r"^[a-zA-Z]+?[a-zA-Z0-9]{5,19}", useradd)
if useradd1:
print("用户名 %s 符合规则" % useradd)
else:
print("用户名 %s 不符合规则,请重新输入" % useradd)
def main2():
user_mima = input("请输入密码:")
user_mima1 = re.match(r"[a-zA-Z]+?\S{5,}", user_mima)
if user_mima1:
print("密码 %s 符合规则" % user_mima)
else:
print("密码 %s 不符合规则,请重新输入" % user_mima)
if __name__ == '__main__':
main1()
main2()
# 方式2:
while True:
# 获取用户输入
username = input("请输入用户名:")
# 如果输入 quit 则退出程序
if username == "QUIT":
break
# 获取输入的密码:
passwd = input("请输入密码:")
# 校验用户名格式是否在6-20之间
if len(username) < 6 or len(username) > 28:
print("请输入有效的用户名,长度6-20,且必须以字母开头")
print("请重新输入")
# 如果不正确直接重新开始,所以使用continue
continue
# 查看用户名是不是以字母开头
if username[0] not in "abc":
print(username[0])
print("请输入有效的用户名,长度6-20,且必须以字母开头")
print("请重新输入")
# 如果不正确直接重新开始,所以使用continue
continue
# 校验密码格式6位,不能为纯数字,不能有空格
if len(passwd) < 6 or passwd.isdigit() or " " in passwd:
print("密码格式6位,不能为纯数字,不能有空格")
print("请重新输入")
# 如果不正确直接重新开始,所以使用continue
continue
print("校验成功")
print("="*20)