QT正则校验

这篇具有很好参考价值的文章主要介绍了QT正则校验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

项目中会经常遇到需要对字符串进行校验的情况,需要用到正则表达式(Regular Expression,通常简写为RegExp、RE等),本篇将介绍如何使用Qt正则校验字符串及常用正则校验表达式。文章来源地址https://www.toymoban.com/news/detail-649400.html


一、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])$"  

到了这里,关于QT正则校验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT笔记 - QRegularExpression正则表达式

    QRegularExpression是Qt框架中的正则表达式类,它支持Perl兼容的正则表达式语法。 以下是一些常用的正则表达式语法规则: 1. 字符匹配:     * 纯字符串:直接写入要匹配的字符串。例如,\\\"hello\\\"匹配字符串\\\"hello\\\"。     * 转义字符:使用反斜杠()来转义特殊字符。例如,\\\"n\\\"匹配

    2024年01月23日
    浏览(45)
  • 【VisualStudio】基于 Visual Studio 使用 C++ 语言开发 Qt 环境配置教程

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 先上一张效果图,具体步骤主要分为以下三步。 这一步不再赘述,注意一定要安装 C++ 语言。 可以参考这个教程 Visual Studio 2022安装与使用教程。 这一步也不再赘述,网上搜索教

    2024年02月15日
    浏览(70)
  • 【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 我要使用的功能比较简单,主要包含扫描串口、打开串口、发送数据、接收数据、暂停按钮、停止按钮,因此接下里将围绕这几个功能依次更新。 我的工程项目名字叫 “GUI”。

    2024年02月11日
    浏览(71)
  • 【Visual Studio】报错 C2653,使用 C++ 语言,配合 Qt 开发串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 这个 Bug 是我做这个工程时遇到的:【Visual Studio】Qt 的实时绘图曲线功能,使用 C++ 语言,配合 Qt 开发串口通信界面。 使用 C++ 语言,配合 Qt 开发串口通信界面,在添加 Widget 做

    2024年02月11日
    浏览(55)
  • Qt5.12实战之正则与QregExp使用

    1.普通字符匹配: ab+ : 匹配一个a和任意个b 如: ab abb abbbbbb c : 匹配一个c 如 : abcde 匹配内容: c 匹配开始索引:2 匹配结束索引 3 bcd : 匹配字符串 bcd 如: abcde 匹配内容是: bcd 匹配开始索引是:1 匹配结束索引是:4 2.转换符匹配: :转义字符匹配 如: r n t \\\\ ^ $ . 匹配的内容分别是 回

    2024年02月06日
    浏览(37)
  • 通俗易懂玩QT:正则表达式 QRegularExpression 学习

    在 Qt 中有两种和正则相关的类,一种是 QRegExp 类,今天查资料说的好像是从 Qt4 传承下来的,BUG 相对来说比较多,目前基本已停止维护了,多用于正则匹配,还有一种就是今天要讲的 QRegularExpression 类,是 Qt5 新开辟出来的类,相对来说比较完善(网上这样说的,具体有待考

    2024年02月02日
    浏览(31)
  • Qt正则表达式使用介绍QRegExp、QRegularExpression

    作者:令狐掌门 技术交流QQ群:675120140 csdn博客:https://mingshiqiang.blog.csdn.net/

    2024年02月03日
    浏览(42)
  • QT QLineEdit 只能输入字母或数字,输入格式约束(正则表达式)

    1.只允许输入整型 ui-lineEdit-setValidator(new QIntValidator(ui-lineEdit)); 1 2.只允许输入数字 ui-lineEdit-setValidator(new QRegExpValidator(QRegExp(\\\"[0-9]+$\\\")));    1 3.只能输入字母和数字 ui-lineEdit-setValidator(new QRegExpValidator(QRegExp(\\\"[a-zA-Z0-9]+$\\\")));    1 3.1 只能输入大写数据: ui-lineEdit-setValidator(new QRegE

    2024年02月04日
    浏览(43)
  • 【Visual Studio】报错 ASSERT: “i >= 0 && i < size()“,使用 C++ 语言,配合 Qt 开发串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 这个 Bug 是我做这个工程时遇到的:【Visual Studio】Qt 的实时绘图曲线功能,使用 C++ 语言,配合 Qt 开发串口通信界面。 使用 C++ 语言,配合 Qt 开发串口通信界面,在调试动态绘图

    2024年02月11日
    浏览(55)
  • <QT开发> QT开发工具-之-QT应用程序打包

    <QT开发> QT开发工具-之-QT应用程序打包 笔者为什么会写这篇文章呢?这是因为,笔者使用windows QT开发了一个测试工具。目的是通过TCP/IP测试其它应用程序。首先这个QT程序是笔者自己开发的,所以笔者的电脑当然是可以运行这个QT程序的,但是想要这个QT程序在其它同事的

    2024年02月12日
    浏览(152)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包