代码拉取完成,页面将自动刷新
#ifndef USERINFOUTIL_H
#define USERINFOUTIL_H
#include "qregexp.h"
#include <QString>
#include <QSqlQuery>
#include <QCryptographicHash> // md5加密的库
#include<QDebug>
/*
* Date: 2022/11/17
* Name: 王宇轩
* Student ID: 20301142
* Description: 这个类存储登陆、注册、修改密码
* 等方法异常判断的sql语句和相关方法。
*/
// 检查用户的注册密码是否正确
bool checkPsw(const QString& psw)
{
// 密码长度为6-12位,且必须为数字、大小写字母或符号中至少2种
QString reg = "^(?![\\d]+$)(?![a-zA-Z]+$)(?![^\\da-zA-Z]+$).{6,12}$";
QRegExp rx(reg);
bool ok = rx.exactMatch(psw);
return ok;
}
// 检查注册的用户名格式是否正确
bool checkUsername(const QString & username)
{
//密码长度为6-12位,且必须为数字、大小写字母或符号中至少2种
QString reg = "^[a-zA-Z0-9_]{6,16}$";
QRegExp rx(reg);
bool ok = rx.exactMatch(username);
return ok;
}
// 从数据库中查询当前注册用户是否存在
bool isUserExist(const QString & username){
qDebug()<<username;
//若用户完成输入,则在数据库中进行匹配
QString sql=QString("select * from user where username='%1'")
.arg(username);
//创建执行语句对象
QSqlQuery result(sql);
//判断执行结果,判断是否存在该用户
if(!result.next()){
return false;
}
return true;
}
// 检查用户名和密码是否匹配
bool isUserAndPswMatch(const QString & username,const QString & password){
QString psw =
QCryptographicHash::hash(password.toLatin1(), QCryptographicHash::Md5).toHex();
//若当前用户存在,则判断用户名和密码是否匹配
QString sql=QString("select * from user where username='%1' and password='%2'")
.arg(username,psw);
QSqlQuery result(sql);
//判断执行结果
if(!result.next()){
return false;
}
return true;
}
#endif // USERINFOUTIL_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。