加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Qt ip和特殊输入字符输入框正则表达式

发布时间:2020-12-14 00:37:04 所属栏目:百科 来源:网络整理
导读:正则表达式来实现ip地址,网络端口,信号通道的输入功能的,不符合规范的数据将不能输入: QLineEdit的setValidator函数. /* ip输入框正则表达式 */ // IP 前3段 QRegExp regExp("[0-9][0-9.][0-9.][.]");ui-lineEdit_1-setValidator(new QRegExpValidator(r

正则表达式来实现ip地址,网络端口,信号通道的输入功能的,不符合规范的数据将不能输入:

QLineEdit的setValidator函数.

/* ip输入框正则表达式 */
// IP 前3段

 QRegExp regExp("[0-9][0-9.][0-9.][.]");
ui->lineEdit_1->setValidator(new QRegExpValidator(regExp,ui->lineEdit_1));
ui->lineEdit_2->setValidator(new QRegExpValidator(regExp,ui->lineEdit_2));
ui->lineEdit_3->setValidator(new QRegExpValidator(regExp,ui->lineEdit_3));
// 第4段
regExp = QRegExp("[0-9][0-9][0-9]");
ui->lineEdit_4->setValidator(new QRegExpValidator(regExp,ui->lineEdit_4));
// 端口输入框
regExp = QRegExp("[0-9][0-9][0-9][0-9][0-9]");
ui->lineEdit_6->setValidator(new QRegExpValidator(regExp,ui->lineEdit_6));
ui->lineEdit_7->setValidator(new QRegExpValidator(regExp,ui->lineEdit_7));
// 输入处理
if (arg1.toInt() > 255) {
        QMessageBox::information(this,"information","输入有误");
        ui->lineEdit_1->setText(tr(""));
}
// 如果输入.号
if ((arg1.indexOf(QString("."))) != -1) {
        ui->lineEdit_1->setText(arg1.section('.',0));
        focusNextPrevChild(true);
}

正则表达式网络配置通用代码:

QRegExp regExpIP("((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])[.]){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])");  
QRegExp regExpNetPort("((6553[0-5])|[655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{3}|[1-9][0-9]{2}|[1-9][0-9]|[0-9])");  
QRegExp regExpChannel("[0-5]");  
  
ui->lineEdit_locIP->setValidator(new QRegExpValidator(regExpIP,this));  
ui->lineEdit_subNetMask->setValidator(new QRegExpValidator(regExpIP,this));  
ui->lineEdit_GatewayIP->setValidator(new QRegExpValidator(regExpIP,this));  
ui->lineEdit_serIP->setValidator(new QRegExpValidator(regExpIP,this));  
ui->lineEdit_serPort->setValidator(new QRegExpValidator(regExpNetPort,this));  
ui->lineEdit_rfChannel->setValidator(new QRegExpValidator(regExpChannel,this)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读