要求输入的密码为字母与数字的组合,并且不小于6位。
其中m_pSetName,m_pSetPsw,m_pReSetPsw为QLineEdit类型的成员变量,分别表示用户名输入框、密码输入框、再次输入密码框
QByteArray ch = m_pSetPsw->text().toLatin1();
char *s = ch.data();
char *p = ch.data();
while (*s && *s >= '0' && *s <= '9')
{
s++;//如果是数字,指针后移
}
while ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z'))
{
p++;//如果是字母,指针后移
}
if (m_pSetName->text() == "" || m_pSetPsw->text() == "")
{
m_pTips1->setText(QStringLiteral("账号密码不能为空"));
return;
}
//判断密码是否为字母数字组合
else if (*s == NULL)
{//纯数字
m_pTips2->setText(QStringLiteral("密码须为6位数字与字母组合"));
return;
}
else if (*p == NULL)
{//纯字母
m_pTips2->setText(QStringLiteral("密码须为6位数字与字母组合"));
return;
}
//密码长度小于6
else if (m_pSetPsw->text().count() < 6)
{
m_pTips2->setText(QStringLiteral("密码须为6位数字与字母组合"));
return;
}
//两次输入的密码不一致
else if (m_pSetPsw->text() != m_pReSetPsw->text())
{
m_pTips3->setText(QStringLiteral("两次输入的密码不一致"));
return;
}