1. 程式人生 > 其它 >Qt5 IP及埠輸入格式正側表示式

Qt5 IP及埠輸入格式正側表示式

技術標籤:qtc++

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);