• 6098阅读
  • 1回复

[讨论]有关LineEdit过滤ip端口输入(1-65535)的问题 [复制链接]

上一主题 下一主题
离线th1nk3r
 

只看楼主 倒序阅读 楼主  发表于: 2011-06-27
代码:


portEdit    = new QLineEdit;
QRegExp rxPt("(^6[0-4]\d{3}$)|(^65[0-4]\d{2}$)|(^655[0-2]\d$)|(^6553[0-5]$)|(^[1-9]\d{0,3}$)|(^[1-5]\d{4}$)");
QRegExpValidator *inPt = new QRegExpValidator(rxPt, this);
portEdit->setValidator(inPt);

其中正则表达式我用正则表达式测试工具测试过了没问题
但在LineEdit里输入还是有问题。
就是先输入6,就能接着输入0-5的数,比如5得到65,

然后又只能输入0-5的数,比如5,得到655,
以此类推。但只要输入不是6的数,之后就不能输入了。
我在网上找了N个表达式了,都不行,即时现在用的这个用工具测试过,QT里也不行。
不知哪里出错了,希望高手帮忙,谢谢。

离线dbzhang800

只看该作者 1楼 发表于: 2011-06-27
引用楼主th1nk3r于2011-06-27 10:56发表的 有关LineEdit过滤ip端口输入(1-65535)的问题 :
代码:
就是先输入6,就能接着输入0-5的数,比如5得到65,然后又只能输入0-5的数,比如5,得到655,以此类推。但只要输入不是6的数,之后就不能输入了。
.......

这段描述够乱的,看不懂到底不能输入什么,能输入什么。

其实很简单,你只要列举哪些你期待能输入,而实际不能输入的数据就行了


快速回复
限100 字节
 
上一个 下一个