QT QLineEdit 只能输入字母或数字,输入格式约束(正则表达式)

本文介绍了如何使用Qt中的QIntValidator和QRegExpValidator来限制用户在lineEdit中输入的内容,包括只允许输入整数、数字、字母、大写字母、小写字母、浮点数以及特定范围的整数和浮点数。此外,还涉及了日期格式(年-月-日和月/日/年)的输入限制以及中文输入的验证。
摘要由CSDN通过智能技术生成

1.只允许输入整型

ui->lineEdit->setValidator(new QIntValidator(ui->lineEdit));
1
2.只允许输入数字

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("[0-9]+$")));   
1
3.只能输入字母和数字

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("[a-zA-Z0-9]+$")));   
1
3.1 只能输入大写数据:

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^[A-Z]+$")));   
1
3.2 只能输入小写数据:

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^[a-z]+$")));   
1
3.3只能输入字母:

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^[A-Za-z]+$")));   
1
4.输入浮点型数据

非负浮点数(正浮点数 + 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+)?$"

5 . 输入-255~255的整数:

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^-?(255|[1,2]?[0-4]?\\d|[1,2]?5[0-4]?)$")));  
1
6.限制浮点数输入范围为[-90,90]并限定为小数位后4位:

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp rx("^-?(90|[1-8]?\\d(\\.\\d{1,4})?)$");  );  
1
7.输入格式 (年-月-日):

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$")));  
1
7.1 输入格式(月/日/年):

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$" )));  

1
2
只能中文 输入:
ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("[\u4e00-\u9fa5]+$")));   
————————————————
 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值