前言
项目中会经常遇到需要对字符串进行校验的情况,需要用到正则表达式(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])$"
文章来源:https://www.toymoban.com/news/detail-649400.html
到了这里,关于QT正则校验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!