考点:常见的登录验证类【Python习题14】
题目:输入密码,对密码进行验证,输入不能为空,
密码长度为6-12位,且必须包含数字和字母
解题分析:
这里要满足以下几个要求:
1)要有人为输入
2)要有验证(满足a.不能空 b.长度6-12 c.包含数字和字母)
详细说明:
1)要有人为输入用户输入,我们可以采用input方法就可以实现。
input("请输入密码:") 这个函数会返回一个字符串。
2)验证
在常规思路下,我们会对验证的内容一项项写代码判断,这个思路就相对比较复杂一点。
在此题中,我们采用正则表达式的方法来解决问题。
其实,通过正则表达式,我们只要限制了输入的长度后,效果已经包含了不能为空的效果,然后要加上的规则就是包含数字同时包含字母(大小写),这里不能漏了。
程序输入交互效果:
请输入密码:
输入密码不能为空
请输入密码:12345
没有找到
请输入密码:123456
没有找到
请输入密码:1234a
没有找到
请输入密码:12345a
12345a
请输入密码:
程序源代码:
# -*- coding: utf-8 -*-
"""
@File文件 : ljytest91
@Time创建时间 : 2021/12/24
@Author作者 : 刘金玉
@Contact联系方式 : selidev@qq.com 编程创造城市 http://bcczcs.com
注:作者信息请保留!否则必究法律责任!
刘金玉编程,编程创造城市!
作者微信号:selidev
作者抖音号:selidev
作者B站:刘金玉编程
微信公众号:编程创造城市
题目:输入密码,对密码进行验证,输入不能为空,密码长度为6-12位,且必须包含数字和字母
"""
import re
while True:
mm = input("请输入密码:")
if mm=="":
print("输入密码不能为空")
else:
a=re.match("(?=.*[0-9])(?=.*[a-zA-Z])^.{6,12}$",mm)
if a:
print(a)
else:
print("没有找到")
总结:
这个代码我们使用了python的re模块,这个模块中的正则我们要做一些简单理解。
(?=.*[0-9])中的?=我们可以理解为包含,[0-9]是指0、1、2、3...9这些数字中的任意一个。
(?=.*[a-zA-Z])表示包含大小写字母。
^.{6,12}$表示字符串从开头到结束的长度要在6至12位之间。
通过以上正则表达式的使用,我们对日常的代码就做了很大简化,使我们推崇的使用方法。
相关文章: