增加要求为只有数字和字母组成
时间: 2024-10-11 21:10:06 浏览: 8
如果要修改代码,只允许输入由数字和字母组成的密码,你需要去掉对特殊字符的检查部分,并调整判断条件。下面是修改后的代码:
```cpp
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
bool isPasswordValid(const string &s)
{
bool hasNumber = false;
bool hasUpper = false;
bool hasLower = false;
for (char c : s) {
if (isdigit(c)) hasNumber = true;
if (isalpha(c)) { // 只保留对字母的检查,移除对特殊字符的检查
if (isupper(c)) hasUpper = true;
else if (islower(c)) hasLower = true;
}
}
bool isValid = s.length() >= 8 && (hasNumber || hasUpper || hasLower); // 去掉了对特殊字符的检查
return isValid;
}
int main()
{
string s1 = "DTS102TC";
cout << "Enter a string for password: " << s1 << endl;
if (isPasswordValid(s1)) {
cout << "Valid password !" << endl;
} else {
cout << "Invalid password !" << endl;
}
string s2 = "C++Programming";
cout << "Enter a string for password: " << s2 << endl;
if (isPasswordValid(s2)) {
cout << "Valid password !" << endl;
} else {
cout << "Invalid password !" << endl;
}
return 0;
}
```
现在,这个函数只会检查输入的字符串是否包含至少8个数字和字母(不分大小写),而不考虑其他特殊字符。
阅读全文