C++_密码多条件验证
创始人
2024-12-29 08:50:52
0 次浏览
0 评论
4-16个字符,由字母、数字和下划线组成.怎么填?
它可以包含这三种类型中的任何一种,但不能仅包含数字或字母,例如abc__123。
C++怎样让一个字符串中必须不仅有数字、大写字母还有小写字母
#includestaticunsignedintRandom(unsignedintmin,unsignedintmax){if(min==max)returnmin;elseif(min>max)return0else{staticunsignedintseed=0;srand(time(null)+seed+);return()%(max-min)+min;}}//功能:返回a和b中较小的数staticunsignedintMin(unsignedinta,unsignedintb){return<=b?a:b;}//功能:返回比较时a和b中较小的数较大的数staticunsignedintMax(unsignedinta,unsignedintb){return>=b?a:b;}//功能:检查n的取值范围是否为[min,max]staticboolIsBetween(unsignedintmin,unsignedmax){returnmin<=n&n<=max;}public:/*密码类型参数:minLength最小字母数.ItalLtter最大字母数自适应.=20,unsignedintminCapital.Letter=1,unsignedintmaxCapitalLtter=ANY,unsignedintminLowercaseLetter=1,unsignedintmaxLowercaseLetter=ANY,unsignedintminDigit=1,unsignedintmaxDigit=WHAT,stringavailableChars=DefaultChars){this->minLength=minLength;这->maxLength=maxLength;这->minCapitalLtter=minCapitalLtter;this->maxCapitalLetter=maxCapitalLtter;这->minLowercaseLetter=minLowercaseLetter;这->maxLowercaseLetter=maxLowercaseLetter;这->minDigit=minDigit;this->maxDigit=maxDigit;this->availableChars=availableChars;init();}/*功能:检查密码规范的psd是否符合GetCheckErrorMessage指定的错误信息。
*/intcheck(stringpsd){interrorCode=CHECKE_RESULT_OK;//检查长度if(psd.length()
i--;}}returnpsd;}private:/功能:检查初始化参数voidinit(){this->initErrorCode=INIT_RESULT_OK;if(->minLength>this->maxLength||->maxLength==0)this->initErrorCode|=INIT_RESULT_LENGTH_ERROR;if(this->minCapitalLetter>this->maxCapitalLetter)this->initErrorCode|=INIT_RESULT_CAPITAL_LETTER_AMOUNT_ERROR;if(minLowercaseLetter>maxLowercaseLetter)this->initErrorCode|=INIT_RESULT_LOWERCASE_LETTER_AMOUNT_ERROR;if((this->minDigit>is->maxDigit)this->initErrorCode|=INIT_RESULT_DIGIT_AMOUNT_ERROR;if((this->minCapitalLetter+this->minLowercaseLetter+this->minDigit)>this->maxLength)this->initErrorCode|=INIT_RESULT_MAX_LENGTH_NOT_ENOUGH_ERROR;//初始化时出错,异常被抛出。
if(this->initErrorCode!=INIT_RESULT_OK){ostringstreamss;ss<<"错误消息:"<
初始化将会失败。
26,25,//最小字母数和最大字母数auto.注意:这里的最小数大于最大数。
初始化将会失败。
8.7、最小的数字和最大的小写字母数。
注意:这里的最小数大于最大数。
初始化将会失败。
10.9、最小数和最大数。
注意:这里的最小数大于最大数。
初始化将会失败。
12,0,//其他字符(不包括大小写数字)Password::DefaultChars);}catch(stringmsg){//password3初始化错误抛出的异常。
cout
下一篇:
C语言实现数组排序:插入与快速排序详解
相关文章
C++编程基础:实现从1到10累加及阶乘...
2024-12-26 01:47:07JavaScript高效去除字符串首尾空...
2024-12-21 11:18:59C语言循环语句全解析:while、for...
2024-12-29 01:31:43Hive日期时间处理:字符串转换、格式化...
2024-12-17 05:18:10程序员浪漫表白:用代码谱写烟花般爱情的编...
2024-12-17 00:58:57C语言递归函数详解:程序自我调用的编程技...
2024-12-29 07:07:33C语言数组定义:四种常见方法解析
2024-12-15 18:03:33C语言编程:计算整数序列和与平均值,及找...
2024-12-20 06:59:16C语言编程:简单实现圣诞树打印
2024-12-17 08:40:06Excel教程:如何提取指定位置字符及删...
2024-12-25 23:04:41最新文章
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
热门文章
1
c语言有三维数组吗
C语言三维数组初始化详细方法和步骤如下:1第一步,需要定义一个数组。常见的数组类...
2
js字符串包含某个字符串的个数
js问题:求字符串中某个字符出现的个数的方法?看看是否满足你的需求(x);}pu...
3
轻松调整SQL Server 2008表...
sql2008表格怎么只能编辑前两200行200线是默认设置,并且仅在号码开通时...
4
C语言基础解析:从Hello World...
C语言的基本要素有哪些?基本的C语言格式可以参考基本的helloworld程序。...
5
Python排列组合与循环运用技巧解析
怎样使用Python进行排列组合?对于这类问题,我们可以使用分割循环来执行转换和...
6
C语言for循环技巧:非C字符位置记录与...
C语言for循环问题求解.在for中,我记录了要写入的非c字符的位置。仅当字符不...
7
Hive内置函数全解析:数学、字符串、日...
2021年大数据Hive(五):Hive的内置函数(数学、字符串、日期、条件、转...
8
Python随机数生成技巧:轻松输出任意...
python通过键盘输入随机数种子,产生50个[0,100]之间的随机正整数,然...
9
C语言实现字符串倒序输出教程
请教C语言字符串倒序输出#include#includevoidmain(){c...
10
C语言一元二次方程解答器实现与优化
这个c语言程序哪里有问题,我想写一个一元二次方程解答器。#include#inc...