qt密码复杂度
1 2 3 4 5 6 7 8 | 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;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2019-04-18 密匙
2019-04-18 msdn
2019-04-18 $(QTDIR);$(QTDIR)\include\QtCore;$(QTDIR)\include;