适用环境:Qt5/Qt6,C++
//引入头文件,该头文件在Qt5、Qt6均适用
//另一个头文件QRegExp在Qt6被移除
#include <QRegularExpression>
#include <QString>
1、是否为纯英文
//是否为纯英文
bool Widget::IsEnglish(QString str)
{
//匹配A-Z和a-z的英文字符
QRegularExpression re("^[A-Za-z]+$");
QRegularExpressionMatch match = re.match(str);
return match.hasMatch();
}
2、是否为纯数字
2.1 纯正整数,无小数、负数
//是否为纯正整数
bool Widget::IsNumber(QString str)
{
//匹配数字0-9
QRegularExpression re("^[0-9]+$");
QRegularExpressionMatch match = re.match(str);
return match.hasMatch();
}
2.2 可能有负数和小数
bool Widget::IsNumber(QString str)
{
bool ok;
str.toDouble(&ok); // 尝试将字符串转换为双精度浮点数,并将结果赋给ok
return ok;
}
3、是否为纯英文数字组合
//是否为纯英文数字组合
bool Widget::IsEnglishOrNumber(QString str)
{
//匹配0-9、a-z、A-Z
QRegularExpression re("^[0-9a-zA-Z]+$");
QRegularExpressionMatch match = re.match(str);
return match.hasMatch();
}