MFC中检查CString类型的密码是否符合规范

假设有一输入框待输入密码,密码类型为CString m_input; ,则判断如下:

	判断CString字符串类型的密码是否符合规范///
	UpdateData(TRUE);
	// 检查密码是否符合规范(长度不小于8位,且必须同时包含大小写字母、数字及特殊符号)
	int iLength = m_Input.GetLength();
	if (iLength<8)
	{
		MessageBox(_T("密码长度须至少8位!"), NULL, MB_OK | MB_ICONERROR);
		return;
	}

	int iNumber =0;
	int iUpperChar = 0;
	int iLowerChar = 0;
	int iSpecCharacter = 0;
	for (int i=0; i<iLength; i++)
	{
		int iCharacter = (int)m_Input.GetAt(i);

		if (iCharacter >= 0x30 && iCharacter <= 0x39) //数字集合[0x30, 0x39](ASCII码字符对应的十六进制值)
		{
			iNumber = 1; //字符存在于数字集合中,即包含了数字
		}

		if (iCharacter >= 0x61 && iCharacter <= 0x7a) //小写字母集合[0x61, 0x7a]
		{
			iLowerChar = 1; //字符存在于小写字母集合中,即包含了小写字母
		}

		if (iCharacter >= 0x41 && iCharacter <= 0x5a) //大写字母集合[0x41, 0x5a]
		{
			iUpperChar = 1; //字符存在于大写字母集合中,即包含了大写字母
		}

		if (iCharacter >= 0x21 && iCharacter <= 0x7e  //可见字符集合[0x21, 0x7e]
			&& iNumber == 0 && iLowerChar == 0 && iUpperChar == 0) //可见字符集合中除去数字、大小写字母剩下的即为特殊字符
		{
			iSpecCharacter = 1; //字符存在于特殊字符集合中,即包含了特殊字符
		}
	}

	if (iNumber == 0 || iUpperChar == 0 || iLowerChar == 0 || iSpecCharacter == 0)
	{
		MessageBox(_T("密码必须同时包含有大小写字母、数字和特殊符号!"), NULL, MB_OK | MB_ICONERROR);
		return;
	}
	else
	{
		MessageBox(_T("恭喜您,此密码符合规范!"), NULL, MB_OK | MB_ICONERROR);
	}
	//

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值