Qt5 IP及埠輸入格式正側表示式
阿新 • • 發佈:2020-12-23
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);