QRegExp rx;// 密码校验正则式
rx.setPatternSyntax(QRegExp::RegExp);
rx.setCaseSensitivity(Qt::CaseSensitive);// 对大小写字母敏感,即区分大小写
//rx.setPattern(QString("^/w+$"));// 匹配格式为由数字、26 个英文字母或者下划线组成的字符串 // 8-32位 输入5次锁定
//rx.setPattern(QString("[A-Za-z0-9_]"));
// rx.setPattern(QString("^[A-Za-z0-9]+$"));
rx.setPattern(QString("^(?![0-9]+$)(?![a-zA-Z]+$)(?!([^(0-9a-zA-Z)]|[])+$)([^(0-9a-zA-Z)]|[]|[a-zA-Z]|[0-9]){6,}$"));
密码长度为8-16位,且必须为数字、大小写字母或符号中至少2种
bool IsMatchRegX(const QString& str)
{
QString reg = "^(?![\\d]+$)(?![a-zA-Z]+$)(?![^\\da-zA-Z]+$).{8,16}$";
QRegExp rx(reg);
bool ok = rx.exactMatch(str);
return ok;
}