QT实现用户注册密码校验逻辑

在这里插入图片描述

bool Register::CheckPwd()
{
    QString nickName = ui->lineEdit_nickName->text();//用户昵称
    QString firstPassWrd = ui->lineEdit_passwd->text();//用户密码
    QString secondPassWrd = ui->lineEdit_confirmPass->text();//确认密码
    QRegExp rx;
    QMessageBox msgBox;
    bool flag = true;
    if(0 == nickName.size())
    {
        ui->textLabel->setText("昵称不能为空!");
        ui->textLabel->setStyleSheet("color: rgb(255, 78, 25);");
        return false;
    }
    if(nickName.size() > 21)
    {
        //            warnStr += "昵称长度超过21位;";
        ui->textLabel->setText("昵称长度超过21位!");
        ui->textLabel->setStyleSheet("color: rgb(255, 78, 25);");
        return false;
    }
    rx.setPatternSyntax(QRegExp::RegExp);
    //对大小写字母敏感,即区分大小写
    rx.setCaseSensitivity(Qt::CaseSensitive);
    //匹配格式为所有大小写字母和数字组成的字符串,位数不限
    rx.setPattern(QString("^[A-Za-z0-9]+$"));
    if(firstPassWrd.isEmpty())  //检测密码输入框是不是为空
    {
        ui->textLabel->setText("密码不能为空!");
        ui->textLabel->setStyleSheet("color: rgb(255, 78, 25);");
        return false;
    }
    else if(!rx.exactMatch(firstPassWrd))
    {
        ui->textLabel->setText("密码只能是数字或字母!");
        ui->textLabel->setStyleSheet("color: rgb(255, 78, 25);");
        return false;

    }
    else if(firstPassWrd.size()<6 || firstPassWrd.size()>18)
    {
        ui->textLabel->setText("密码长度范围必须是[6,18]!");
        ui->textLabel->setStyleSheet("color: rgb(255, 78, 25);");
        return false;

    }
    if(secondPassWrd.isEmpty())  //检测密码输入框是不是为空
    {
        ui->textLabel->setText("密码不能为空!");
        ui->textLabel->setStyleSheet("color: rgb(255, 78, 25);");
        return false;
    }
    if(0 != firstPassWrd.compare(secondPassWrd) )
    {
        ui->textLabel->setText("两次密码不一致");
        ui->textLabel->setStyleSheet("color: rgb(255, 78, 25);");
        return false;
    }
    return flag;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值