Qt5 IP及端口输入格式正侧表达式
QLineEdit
QRegExp rx_ip("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)");
QRegExpValidator *patter_Ip = new QRegExpValidator(rx_ip,this);
ui->LineEdit_ip->setValidator(patter_Ip);
/*setInputMask()函数与正侧表达一起使用会导致正侧表达失效*/
//ui->LineEdit_ip->setInputMask("000.000.000.000");
使用以下方式可避免正侧表达式失效,但是会导致0段ip无法正常输入,效果见下图
ui->LineEdit_ip->setInputMask("000.000.000.000;0");
//创建Port输入格式(正侧表达式) //0一般作为保留端口,很少会用做输入,去掉0的正则表达式(不支持0)
QRegExp rx_Port("^([0-9]|[1-9]\\d{1,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$");
QRegExpValidator *patter_Port = new QRegExpValidator(rx_Port,this);
ui->S_Port->setValidator(patter_Port);