QT正则校验

文章目录

  • 前言
  • 一、Qt正则校验
    • 1.对输入框进行校验,不允许输入其他字符
    • 2.直接校验字符串
  • 二、常用正则校验表达式


前言

项目中会经常遇到需要对字符串进行校验的情况,需要用到正则表达式(Regular Expression,通常简写为RegExp、RE等),本篇将介绍如何使用Qt正则校验字符串及常用正则校验表达式。


一、Qt正则校验

1.对输入框进行校验,不允许输入其他字符

// 正则校验ip地址:ddd.ddd.ddd.ddd
QRegExp ipExp("(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)");
ui->editIP->setValidator(new QRegExpValidator(ipExp, ui->editIP));

2.直接校验字符串

/** value 待校验值* rxStr 校验规则*/
bool RegExp(QString value, QString rxStr)
{bool result = false;if(value.isEmpty()){return false;}QRegExp rx(rxStr);QRegExpValidator v(rx, 0);int pos = 0;if (QValidator::Acceptable != v.validate(value, pos)){result = false;}else{result = true;}return result;
}// 校验000-999
bool result = RegExp("123","\\d{3}"); 

二、常用正则校验表达式

中文           "^[\u4e00-\u9fa5]{2,10}$" 
整数           "^-?\\d+$" 
浮点数         "^(-?\\d+)(\\.\\d+)?$"
负数           "^-[0-9]*[1-9][0-9]*$"
数字           "^[0-9]*$"            
正整数         "^[0-9]*[1-9][0-9]*$"
数字和英文组合  "^[A-Za-z0-9]+$"
数字加二位小数  "^[0-9]+(\\.[0-9]{2})?$"
身份证号        "^(^\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x))$" 
IP             "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
端口号          "^([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{4}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$"  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/33152.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常见的内存泄漏原因和解决方案

常见的内存泄漏原因和解决方案 1.全局引用 问题:在JavaScript代码中,使用全局变量或全局对象来保存对DOM元素或其他对象的引用,这可能导致内存泄漏。 解决方案:避免使用全局变量或全局对象,改用合适的作用域来管理变…

站长公益主机,免费主机➕免费域名➕博客申请➕论坛申请

站长公益主机,免费主机➕免费域名➕博客申请➕论坛申请 在出教程之前准备好久,测试搭建轻量论坛无压力 选用稳定免费域名➕免费主机分销给,可以套CDN使用 坚持免费时间是大厂不能媲美,刚开始做网站时用的是这个分销,独…

HTTP代理编程:Python实用技巧与代码实例

今天我要与大家分享一些关于HTTP代理编程的实用技巧和Python代码实例。作为一名HTTP代理产品供应商,希望通过这篇文章,帮助你们掌握一些高效且实用的编程技巧,提高开发和使用HTTP代理产品的能力。 一、使用Python的requests库发送HTTP请求&a…

无涯教程-Perl - mkdir函数

描述 此功能使用MODE指定的模式创建一个名称和路径EXPR的目录,为清楚起见,应将其作为八进制值提供。 语法 以下是此函数的简单语法- mkdir EXPR,MODE返回值 如果失败,此函数返回0,如果成功,则返回1。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perl -w$dirname &…

OpenFeign超时时间设置不生效问题排查

最近升级springboot 3,突然发现配置文件中的openFeign的超时时间设置不生效了 之前配置如下: feign: client: config: default: connectTimeout: 3000 readTimeout: 5000 查资料都是说ribbon或者hystrix的超时时间设置问…

Docker desktop使用配置

1. 下载安装 https://www.docker.com/ 官网下载并安装doker desktop 2. 配置镜像 (1)首先去阿里云网站上进行注册:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors (2)注册完成后搜索:容…

Jmeter入门之digest函数 jmeter字符串连接与登录串加密应用

登录请求中加密串是由多个子串连接,再加密之后传输。 参数连接:${var1}${var2}${var3} 加密函数:__digest (函数助手里如果没有该函数,请下载最新版本的jmeter5.0) 函数助手:Options > …

1.Fay-UE5数字人工程导入(UE数字人系统教程)

非常全面的数字人解决方案(含源码) Fay-UE5数字人工程导入 1、工程下载:xszyou/fay-ue5: 可对接fay数字人的ue5工程 (github.com) 2、ue5下载安装:Unreal Engine 5 3、ue5插件安装 依次安装以下几个插件 4、双击运行工程 5、切换中文 6、检…

JavaWeb学习|JavaBean;MVC三层架构;Filter;Listener

1.JavaBean 实体类 JavaBean有特定的写法: 必须要有一个无参构造 属性必须私有化。 必须有对应的get/set方法 用来和数据库的字段做映射 ORM; ORM:对象关系映射 表--->类 字段-->属性 行记录---->对象 2.<jsp&#xff1a;useBean 标签 3. MVC三层架构 4. Filter …

Mybatis 初识

目录 1. MyBatis入门 1.1 MyBatis的定义 1.2 MyBatis的核心 MyBatis的核心 JDBC 的操作回顾 1.3 MyBatis的执行流程 MyBatis基本工作原理 2. MyBatis的使用 2.1 MyBatis环境搭建 2.1.1 创建数据库和表 2.1.2 添加MyBatis框架支持 老项目添加MyBatis 新项目添加MyBatis 2.1.3 设…

考研算法38天:反序输出 【字符串的翻转】

题目 题目收获 很简单的一道题&#xff0c;但是还是有收获的&#xff0c;我发现我连scanf的字符串输入都忘记咋用了。。。。。我一开始写的 #include <iostream> #include <cstring> using namespace std;void deserve(string &str){int n str.size();int…

【HBZ分享】ES索引分片的写入原理 及 流程

当一条数据写到ES要经历哪些过程&#xff1f; 当插入一条新的数据时&#xff0c; 数据会进入Translog 和 MemoryBuffer两个内存中&#xff0c;并添加了事务日志&#xff0c;此时该文档不可查询当translog大到一定程度时&#xff0c;会发生一个commit操作&#xff0c;也就是全量…

css小练习:案例6.炫彩加载

一.效果浏览图 二.实现思路 html部分 HTML 写了一个加载动画效果&#xff0c;使用了一个包含多个 <span> 元素的 <div> 元素&#xff0c;并为每个 <span> 元素设置了一个自定义属性 --i。 这段代码创建了一个简单的动态加载动画&#xff0c;由20个垂直排列的…

【go语言基础】结构体struct

主要是敲代码&#xff0c;敲的过程中会慢慢体会。 1.概念 结构体是用户定义的类型&#xff0c;表示若干字段的集合&#xff0c;目的是将数据整合在一起。 简单的说&#xff0c;类似Java中的实体类。存储某个实体属性的集合。 2.结构体声明 注意&#xff1a;结构体名字&…

Flask实现接口mock,安装及使用教程(一)

1、什么是接口mock 主要是针对单元测试的应用&#xff0c;它可以很方便的解除单元测试中各种依赖&#xff0c;大大的降低了编写单元测试的难度 2、什么是mock server 正常情况下&#xff1a;测试客户端——测试——> 被测系统 ——依赖——>外部服务依赖 在被测系统和…

AI:01-基于机器学习的深度学习的玫瑰花种类的识别

文章目录 一、数据集介绍二、数据预处理三、模型构建四、模型训练五、模型评估六、模型训练七、模型评估八、总结深度学习技术在图像识别领域有着广泛的应用,其中一种应用就是玫瑰花种类的识别。在本文中,我们将介绍如何使用机器学习和深度学习技术来实现玫瑰花种类的识别,并…

运维监控学习1

1、监控对象&#xff1a; 1、监控对象的理解&#xff1b;CPU是怎么工作的&#xff1b; 2、监控对象的指标&#xff1a;CPU使用率&#xff1b;上下文切换&#xff1b; 3、确定性能基准线&#xff1a;CPU负载多少才算高&#xff1b; 2、监控范围&#xff1a; 1、硬件监控&#x…

“掌握类与对象,点亮编程之路“(下)

White graces&#xff1a;个人主页 &#x1f649;专栏推荐:《C语言入门知识》&#x1f649; &#x1f649; 内容推荐:“掌握类与对象&#xff0c;点亮编程之路“(上)&#x1f649; &#x1f439;今日诗词:春风得意马蹄疾&#xff0c;一日看尽长安花&#x1f439; 目录 &…

mysql-数据库-在表中添加数据三种方式

创建数据库和表 mysql> create database mydb4; Query OK, 1 row affected (0.01 sec)mysql> use mydb4; Database changed mysql> create table stu_info(-> stu_id int primary key auto_increment comment 学号,-> stu_name varchar(30) not null comment …

flume系列之:监控zookeeper的flume配置写入节点,新增和删除flume agent节点,通过ansible自动部署和卸载flume agent

flume系列之:监控zookeeper的flume配置写入节点,新增和删除flume agent节点,通过ansible自动部署和卸载flume agent 一、相关技术二、流程梳理三、部署和删除flume agent效果四、监控zookeeper节点五、新增zookeeper节点部署flume agent六、删除zookeeper节点删除flume agen…