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;
}

 https://blog.csdn.net/dyh19911008/article/details/97112279

posted on   lydstory  阅读(613)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.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;

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示