QT正規表示式 針對IP位址

2021-06-17 22:02:46 字數 1847 閱讀 1856

2011-04-21 14:13

2458人閱讀

正規表示式

qt框架

2010

首先小例:**

判斷合法ip的qt正規表示式:

bool isipaddress(qstring ip)

}if(rx2.cap(7).toint()==0)

if(rx2.cap(7).toint()==0)

}else

return true;

}qregexp rx2("^([1]?/d/d?|2[0-4]/d|25[0-5])/.([1]?/d/d?|2[0-4]/d|25[0-5])/.([1]?/d/d?|2[0-4]/d|25[0-5])/.([1]?/d/d?|2[0-4]/d|25[0-5])$")

if( !rx2.exactmatch(ip) )

return true;

判斷檔名是否含有字母、數字、下劃線之外的字元:

bool isrightfilename(qstring filename)

return true;

}使用正規表示式檢驗ip的合法性。**:

正規表示式:

qregexp rx ((2[0-4]//d|25[0-5]|[01]?//d//d?)//.)(2[0-4]//d|25[0-4]|[01]?//d//d?) ;

iplabel = new qlabel(tr("ip address:"));

iplineedit = new qlineedit;

iplabel->setbuddy(iplineedit);

qvalidator *validator = new qregexpvalidator(rx, this);

iplineedit->setvalidator(validator);

iplineedit->setinputmask("000.000.000.000;");

實現框架下的驗證輸入的ip、子網掩碼的合法性。(生成ip位址類)**:

#include

#include

#include

#include

#define ip_h

class ip : public qwidget ;

#include

#include

#include

#include

#include

#include "ip.h"

ip::ip(const qstring & text, qwidget *parent, const char *nombre) : qwidget(parent, nombre, 0) 

label->move(0, 0);

ipp->move(150, 0);

label->settext(text);

// ip->setinputmask("000.000.000.000; "); }

qstring ip::getvalue()

設定具有ip輸入格式的輸入框模式。**:

qregexp rx("((2[0-4]//d|25[0-5]|[01]?//d//d?)//.)(2[0-4]//d|25[0-5]|[01]?//d//d?)");

qregexpvalidator v(rx, 0);

qlineedit le;

le.setvalidator(&v);

le.setinputmask("000.000.000.000;0");//只要加上;0保證有預設值即可使得正則和mask同時生效。

IP位址 正規表示式

ip位址正規表示式 正規表示式 分析ip位址的組成特點 250 255 200 249 0 199。這三種情況可以分開考慮,1.250 255 特點 三位數,百位是2,十位是5,個位是0 5,用正規表示式可以寫成 25 0 5 2.200 249 特點 三位數,百位是2,十位是0 4,個位是0 9,...

IP位址的正規表示式

分析ip位址的組成特點 250 255 200 249 0 199。這三種情況可以分開考慮,1.250 255 特點 三位數,百位是2,十位是5,個位是0 5,用正規表示式可以寫成 25 0 5 2.200 249 特點 三位數,百位是2,十位是0 4,個位是0 9,用正規表示式可以寫成 2 0 4...

IP位址的正規表示式

ip位址的長度為32位,分為4段,每段8位,用十進位制數字表示,每段數字範圍為0 255,段與段之間用英文句點 隔開。例如 某台計算機ip位址為10.11.44.100。分析ip位址的組成特點 250 255 200 249 0 199。這三種情況可以分開考慮,1.250 255 特點 三位數,百位...