概述:
利用正则表达式对表格框内数据输入进行限制,首相先介绍一个正则表达式的区间条件
1.限定 0 到 9 可以写成 【0-9】
2.限定 A 到 Z 可以写成 【A-Z】
3.限定某些数字【110】
接下来写个小案列测试一下
限定数字 :0-9
.h:
#include <QRegExp>//QRegExp类使用正则表达式提供模式匹配
private slots:
void on_tableWidget_itemChanged(QTableWidgetItem *item);
.cpp:
void Regular::on_tableWidget_itemChanged(QTableWidgetItem *item)
{
QString str = item->text();
QRegExp rx("[0-9]"); //设只输入范围数字0-9
QRegExpValidator v(rx); //QRegExpValidator类用于根据正则表达式检查字符串
int pos = 0;
ui->textBrowser->append(QString("匹配字符串 : ") + str);
QValidator::State res; //QValidator类提供输入文本的验证(犹如一个验证器)。
res = v.validate(str,pos);
/*
*QValidator::Invalid表示完全不匹配;
*QValidator::Intermediate表示部分匹配;
*QValidator::Acceptable表示完全匹配。
*/
if(QValidator::Acceptable == res)
{
ui->textBrowser->append(QString("匹配结果成功 :") + str);
}
else
{
ui->textBrowser->append(QString("匹配失败结果 :") + str);
}
}
看完代码是不是应该考虑一个问题如果只对一个数字输入进行限制使用正则相对于不熟悉正则表达式的人是个难点,大家可以参考下我之前的文章不使用正则表达式是如何对输入数据进行限制的
执行效果图:
over:
欢迎大家关注作者在文末评论、点赞、转发以及批评指正!
如果大家有更好的方法或有问题可以在文末评论一起讨论!
共同学习!
共同进步!
以孝为墩,以敬为梁。