QT控制文本框输入内容
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
QT控制⽂本框输⼊内容利⽤正则表达式,例:
//即账号最长为10位,只能由数字组成
QRegExp regx("[0-9]{1,10}");
QValidator *validator = new QRegExpValidator(regx, ui->num );
ui->num->setValidator(validator);
//姓名栏只能为汉字,长度不超过4位
QRegExp regx2("[\u4e00-\u9fa5]{1,4}");
QValidator *validator2 = new QRegExpValidator(regx2, ui->name );
ui->name->setValidator(validator2);
再⽐如:
QRegExp regx("[1-9][0-9]+$");
lineEdit的第⼀个数是1-9的,第⼆个数和之后的是0-9的
例如⽂件名⾥⾯最好就不出现<>|/\:等,所以可以如下定义
QRegExp regx("[a-zA-Z0-9\-\\\_]{25}");
25就是所输⼊的字符串个数!a-z当然就是a-z,你也可以abcdefghijklm....等等,\- 就是-
常⽤正则表达式:
⾮负整数:"^\d+$"
正整数:"^[0-9]*[1-9][0-9]*$"
⾮正整数(负整数 + 0):"^((-\d+)|(0+))$"
负整数:"^-[0-9]*[1-9][0-9]*$"
整数:"^-?\d+$"
⾮负浮点数(正浮点数 + 0):"^\d+(\.\d+)?$"
正浮点数:"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"
⾮正浮点数(负浮点数 + 0):"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"
负浮点数:"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"
浮点数:"^(-?\d+)(\.\d+)?$"
由26个英⽂字母组成的字符串 "^[A-Za-z]+$"
由26个英⽂字母的⼤写组成的字符串:"^[A-Z]+$"
由26个英⽂字母的⼩写组成的字符串:"^[a-z]+$"
由数字和26个英⽂字母组成的字符串:"^[A-Za-z0-9]+$"
由数字、26个英⽂字母或者下划线组成的字符串:"^\w+$"
email地址:"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"
年-⽉-⽇:"^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$"
⽉/⽇/年:"^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$"
电话号:"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"
IP地址:"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" MAC地址的正则表达式:<p><font size="3" color="#ff9900">^([0-9A-F]{2})(-[0-9A-F]{2}){5}$。