正则表达式-用QRegExp控制输入

一、限制字母数字输入

#include <QRegExpValidator>

QRegExp regExp("[a-fA-F0-9 ]{0,40}");
ui->lE_AESKey->setValidator(new QRegExpValidator(regExp,this));//限制输入

ui->lE_AESKey->setPlaceholderText("16字节");//提示
ui->lE_AESKey->setMaxLength(40);//限制长度

二、使用正则表达式清除空格 (输入时lineEdit每四位自动加空格)

void MainWindow::on_lE_AESKey_textChanged(const QString &arg1)
{
    if(arg1[arg1.length()-1] == " ")
        return;
    
    QString Temp = arg1;
    Temp.remove(QRegExp("\\s"));

    int mo = Temp.length()/4;
    for(int i = 1; i<=mo; i++)
    {
        if((4*i)+(i-1) != Temp.length())
        {
            Temp.insert(((4*i)+(i-1))," ");
        }
    }
    ui->lE_AESKey->setText(Temp);
}

三、判断字符中是否包含中文

QString str;  
bool b = str.contains(QRegExp("[\\x4e00-\\x9fa5]+"));  
if(b)  
{  
    //存在中文  
}  

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值