Products
GG网络技术分享 2025-03-18 16:14 13
利用正则表达式判断用户输入的字符串是否只有小写字母或数字或者大写字符。
一般网络密码要求有:a:长度大于8 b:有字母,数字 c:既有大写,又有小写。利用正则表达式判断用户输入的密码是否符合要求。
测试:
代码:
# encoding:utf-8import re
lowerRegex = re.compile('[a-z]')
upperRegex = re.compile('[A-Z]')
digitRegex = re.compile('[0-9]')
wrongRegex = re.compile('[^a-zA-Z0-9]')
while True:
password = input('请输入大于8位的包含大小写字母和数字的密码:')
if len(password) < 8:
print('输入的密码小于8位')
elif wrongRegex.search(password) is not None:
print('包含无效字符')
else:
if lowerRegex.search(password) is None:
print('未包含小写字母')
elif upperRegex.search(password) is None:
print('未包含大写字母')
elif digitRegex.search(password) is None:
print('未包含数字')
else:
print('输入成功')
break
用一个正则匹配就行
import restr='A341233333a'print(re.match("^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])){8,}.*$",str))
def validPin(str):import re
t = re.match("^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]))\\S{8,}$",str)
if t: return True return Falsepsw = input()
print(validPin(psw))
#################
print('其它口令测试:')
print(validPin('A0a134567'))
print(validPin('A0a12456'))
print(validPin('A0a1245'))
print(validPin('AA123456'))
print(validPin('aa123456'))
print(validPin('AAbbccdd'))
正则表达式是用来查找、判断、替换字符串的一类工具。是很有意思的内容。很多编程语言都支持正则表达式,而且使用形式都大同小异。
今天来判断的情况是字符串中不包含连续重复的数字或者字母,比如:
aaaa,1111,abcccc111,qqqwww,qweeeeerty,等等。
这篇文章的内容需要有正则表达式的知识,如果没学过正则表达式的同学,可以看一下这个教程,我觉得写的很好:
《正则表达式30分钟入门教程》
正则表达式用来测试也非常简单,直接打开浏览器的console界面,用Javascript测试即可:
用Javascript测试只需要掌握几个函数的用法,看这个教程就可以。
下面,我们从零开始,一步一步实现我们的目标“判断字符串中不包含连续的数字或者字母”。
首先是表示出任意一个数字或者字母:
Demand feedback