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;
}
QT实现用户注册密码校验逻辑
最新推荐文章于 2024-09-12 08:31:15 发布