Products
GG网络技术分享 2025-03-18 16:14 5
利用正则表达式判断密码是否符合要求,满足要求输出“密码设置成功”,否则输出“密码不符合要求,请重新设置”。密码的具体要求如下:必须由10-15位指定字符组成:数字,大写字母,小写字母,下划线,要求四种类型的字符都出现才算合法的密码。例如:Aatb32_67mnqb才是合格的强密码。
import re
pattern = re.compile(ur'^[a-zA-Z0-9_]{10,15}$')
str = u''
print(pattern.search(str))
python 代码:[纯代码]
import string
num = input(">>>>>")
num = set(num)
chars = string.ascii_lowercase
upper = string.ascii_uppercase
number = {str(i) for i in range(11)}
ta = {'_'}
length = len(num)
if 15 >= length >= 10:
chars = set(chars)
upper = set(upper)
if num & chars and num & upper and num & number and num & ta and not num - chars - upper - number - ta:
print('强密码')
else:
print("弱密码")
else:
print("bad password length")
可以参考博文:https://season.blog.csdn.net/article/details/103667744
<span class="hljs-string">""" @Time : 2021/6/25 10:46
@Author : Keep Doing this
@FileName: CSDN利用正则表达式判断密码.py
@SoftWare: PyCharm
"""</span>
<span class="hljs-keyword">import</span> re
<span class="hljs-comment"># 密码至少8位数</span>
rule_1 = re.<span class="hljs-built_in">compile</span>(<span class="hljs-string">r'\\w{8,15}'</span> )
<span class="hljs-comment"># 密码同时包含大小写字母和下划线</span>
rule_2 = re.<span class="hljs-built_in">compile</span>(<span class="hljs-string">r'([a-z].*[A-Z])|([A-Z].*[a-z])|{_}'</span>)
<span class="hljs-comment"># 密码同时包含大小写字母和下划线</span>
rule_4 = re.<span class="hljs-built_in">compile</span>(<span class="hljs-string">r'_'</span>)
<span class="hljs-comment"># 密码至少有一位数字</span>
rule_3 = re.<span class="hljs-built_in">compile</span>(<span class="hljs-string">r'\\d'</span> )
<span class="hljs-comment"># 密码不符合要求的显示</span>
NO = <span class="hljs-string">u'输入的密码不够安全!'</span>
<span class="hljs-comment"># 密码符合要求的显示</span>
YES = <span class="hljs-string">u'输入的密码很安全!'</span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">u'请输入密码:'</span> )
passwd = <span class="hljs-built_in">input</span>(<span class="hljs-string">'>'</span>)
flag=<span class="hljs-number">1</span>
<span class="hljs-keyword">while</span> flag!=<span class="hljs-number">0</span>:
<span class="hljs-keyword">if</span> rule_1.search(passwd) == <span class="hljs-literal">None</span>:
<span class="hljs-built_in">print</span>(NO, <span class="hljs-string">"密码长度必须为8~15"</span>)
flag=<span class="hljs-number">1</span>
<span class="hljs-keyword">elif</span> rule_2.search(passwd) == <span class="hljs-literal">None</span>:
<span class="hljs-built_in">print</span>(NO, <span class="hljs-string">"缺少大写或小写字母"</span>)
flag = <span class="hljs-number">1</span>
<span class="hljs-keyword">elif</span> rule_3.search(passwd) == <span class="hljs-literal">None</span>:
<span class="hljs-built_in">print</span>(NO, <span class="hljs-string">"缺少数字"</span>)
flag = <span class="hljs-number">1</span>
<span class="hljs-keyword">elif</span> rule_4.search(passwd) == <span class="hljs-literal">None</span>:
<span class="hljs-built_in">print</span>(NO,<span class="hljs-string">"缺少下划线"</span>)
<span class="hljs-keyword">else</span>:
<span class="hljs-built_in">print</span>(YES)
flag = <span class="hljs-number">0</span>
<span class="hljs-keyword">if</span> flag==<span class="hljs-number">1</span>:
<span class="hljs-built_in">print</span>(<span class="hljs-string">"请重新输入密码:"</span>)
passwd = <span class="hljs-built_in">input</span>(<span class="hljs-string">'>'</span>)
正则表达式是一种文本模式,用于搜索匹配文本中的一个或多个字符串。
Python 提供名为 re 的内置包,可用于处理正则表达式。
匹配字符串的开始,如果匹配成功,则返回match对象。没有匹配,则返回none。
格式:match(<正则表达式>,<字符串>)
Demand feedback