打印日志信息:
qWarning() << QString::fromLocal8Bit("信息:") << user->password();
提示框:
QMessageBox::warning(this, "warning", QString::fromLocal8Bit("不是有效的手机号" + a));
判断是不是手机号:
#include<stdio.h>
#include<string.h>
int istelnum(char *num)
{
int i;
for (i = 0; num[i]; i++)
{
if(!(num[i] >= '0'&&num[i] <= '9'))
return 0;
}
return 11 == strlen(num);
}
int main()
{
char num[16];
printf("请输入手机号:");
gets(num);
if (istelnum(num))
puts("是有效的手机号\n");
else
puts("不是有效的手机号\n");
return 0;
}
判断是否为邮箱:
int istelnum(char *num)
{
int i;
for (i = 0; num[i]; i++)
{
if (!(num[i] >= '0'&&num[i] <= '9'))
return 0;
}
return 11 == strlen(num);
}
bool IsValidChar(char ch)
{
string a = "";
if ((ch >= 97) && (ch <= 122)) //26个小写字母
return true;
if ((ch >= 65) && (ch <= 90)) //26个大写字母
return true;
if ((ch >= 48) && (ch <= 57)) //0~9
return true;
if (ch == 95 || ch == 45 || ch == 46 || ch == 64) //_-.@
return true;
return false;
}
bool IsValidEmail(string strEmail)
{
if (strEmail.length()<5) //26个小写字母
return false;
char ch = strEmail[0];
int atCount = 0;
int atPos = 0;
int dotCount = 0;
for (int i = 1; i<strEmail.length(); i++) //0已经判断过了,从1开始
{
ch = strEmail[i];
if (IsValidChar(ch))
{
if (ch == 64) //"@"
{
atCount++;
atPos = i;
}
else if ((atCount>0) && (ch == 46))//@符号后的"."号
dotCount++;
}
else
return false;
}
//6. 结尾不得是字符“@”或者“.”
if (ch == 46)
return false;
//2. 必须包含一个并且只有一个符号“@”
//3. @后必须包含至少一个至多三个符号“.”
if ((atCount != 1) || (dotCount<1) || (dotCount>3))
return false;
//5. 不允许出现“@.”或者.@
int x, y;
x = strEmail.find("@.");
y = strEmail.find(".@");
if (x>0 || y>0)
{
return false;
}
return true;
}
md5加密:
#include<QByteArray>
#include<QCryptographicHash>
QByteArray bamd5 = QCryptographicHash::hash(password.toLatin1(), QCryptographicHash::Md5).toHex();
QString和QDateTime之间的相互转换
https://www.cnblogs.com/newstart/archive/2013/05/08/3067088.html