PyQt5 QLineEdit输入的子网字符串校验QRegExp实现
作者:皓月盈江 发布时间:2022-05-08 16:47:58
标签:PyQt5,QLineEdit,校验
自己编写的用于对lineEdit编辑框输入的子网,例如:192.168.60.1/24字符串校验是否合规。
# 限制lineEdit编辑框只能输入./字符和数字
reg = QRegExp('[0-9./]+$')
validator = QRegExpValidator(self)
validator.setRegExp(reg)
self.lineEditSubNet.setValidator(validator)
def SubnetVerification(self, strTempSubNet):
"""
对输入的子网字符串进行校验
"""
# 对输入的交换机子网地址及子网掩码格式进行校验
if strTempSubNet.count('/') == 1:
pass
else:
# 警告信息框
win32api.MessageBox(0, "请输入正确的子网,例:192.168.60.1/24", "温馨提示", win32con.MB_ICONWARNING)
return False
strListNet = strTempSubNet.split('/')
if strListNet[0] != '' and strListNet[1] != '':
pass
else:
# 警告信息框
win32api.MessageBox(0, "请输入正确的子网,例:192.168.60.1/24", "温馨提示", win32con.MB_ICONWARNING)
return False
self.strIP = strListNet[0]
self.strSubMaskNum = strListNet[1]
# print(self.strIP)
# print(self.strSubMaskNum)
if 1 <= int(self.strSubMaskNum, 10) <= 32:
pass
else:
# 警告信息框
win32api.MessageBox(0, "请输入正确的子网,例:192.168.60.1/24", "温馨提示", win32con.MB_ICONWARNING)
return False
# 对输入的交换机子网地址进行校验
# 判断是否符合IP地址中有3个.
if self.strIP.count('.') == 3:
pass
else:
# 警告信息框
win32api.MessageBox(0, "请输入正确的子网,例:192.168.60.1/24", "温馨提示", win32con.MB_ICONWARNING)
return False
strList = self.strIP.split(".")
# print(strList)
if strList[0] != '' and strList[1] != '' and strList[2] != '' and strList[3] != '':
pass
else:
# 警告信息框
win32api.MessageBox(0, "请输入正确的子网,例:192.168.60.1/24", "温馨提示", win32con.MB_ICONWARNING)
return False
nList = list(map(int, strList))
if 0 <= nList[0] <= 255 and 0 <= nList[1] <= 255 and 0 <= nList[2] <= 255 and 0 <= nList[3] <= 255:
pass
else:
# 警告信息框
win32api.MessageBox(0, "请输入正确的子网,例:192.168.60.1/24", "温馨提示", win32con.MB_ICONWARNING)
return False
return True
来源:https://blog.csdn.net/u013541325/article/details/115430855


猜你喜欢
- 我们在编写 Javascript 时,Debug 是很痛苦的过程,而且有些语法问题虽使用 Firebug 能很快定位,但毕竟影响效率。这里有
- 引言所谓 路由 就是根据不同的 url 地址展示不同的内容或页面形象点 举个栗子??:电话的拨号界面咱们都见过都使用过你输入一串号码,就可以
- 最近新接触Mysql,昨天新建一个表用于存储表结构信息:create table tablist(TABLE_SCHEMA varchar(
- QSlider 是一个具有可来回拉动手柄的控件。有时使用滑块比输入数字或使用旋转框更方便。在我们的例子中,我们将创建一个滑块和一个标签。标签
- 1. 引言Python语言有许多优点,常用于不同的领域,如数据科学、web开发、自动化运维等。开发人员在这些技术中选择Python的一个重要
- 需求描述:展示信息时其中部门区域是未知数量的,需要通过遍历进行展示。如下图举例,其中地址和备注是一一对应关系,需遵循该样式。问题描述:起初我
- 我们在前面已经分别介绍了如何在spring Boot中使用JPA以及如何在Spring Boot中输出REST资源。那么关于数据库访问还有一
- 一、迭代器(foreach)1、可迭代的对象内置有__iter__方法的都叫可迭代的对象。Python内置str、list、tuple、di
- python下读取公私钥做加解密实例详解在RSA有一种应用模式是公钥加密,私钥解密(另一种是私钥签名,公钥验签)。下面是Python下的应用
- 导语暗恋让人受尽委屈!一开始,你是我的秘密,我怕你知道,又怕你不知道,又怕你知道装作不知道!这大概就是暗恋的感受吧,可若是双向奔赴,那简更是
- javascript request.setAttribute()详解request.setAttribute()怎么用的?JS
- python解释器有好多版本,Anaconda里面包含了python解释器,并且包含了很多其他的工具包,所以我们只安装1个Anaconda即
- 计时器和延时器的概念 //--计时器 // 计时器ID号 setInterval(回调函数, 毫秒数); // 每隔指定毫秒数,调用一次回调
- 在读取dict的key和value时,如果key不存在,就会触发KeyError错误,如:t = { 'a':
- MVC模式MVC, 全名Model View Controller, 是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Mo
- 面向对象的程序设计随着程序的设计的复杂性增加,结构化程序设计方法又不够用了。不够用的根本原因是“代码重用”的时候不方便。面向对象的方法诞生了
- 写在前面的话:此篇还是asp相关的,相信玩ASP的都有这个感觉,当数据有5万多条时-------just like音乐网,要调用最新的10条
- 以SQL Server 2012 为例上图是部分数据库的截图, 我们执行DENY VIEW any DATABASE to PUBLIC;然
- 之前遇到技术问题总能在技术博客上得到启发,十分感谢各位的无私分享。而自己却很少发文,固然是水平有限,但也限制了知识积累和总结。今后多总结分享
- (下面的代码原来我想用折叠的代码的,但是在google里面老是添加不了折叠的代码,所以就整屏的贴出来了,望大家不要见外。) 朋友的比较好的存