网站密码有效性检查:代码实现与详细解读
```cpp #include <iostream> #include <string> #include <sstream> using namespace std; // 检查密码是否合规 bool isValidPassword(const string& password) { // 检查密码长度 if (password.length() < 6 || password.length() > 12) { return false; } bool hasLower = false; bool hasUpper = false; bool hasDigit = false; bool hasSpecial = false; // 遍历密码中的每个字符 for (char c : password) { if (c >= 'a' && c <= 'z') { hasLower = true; } else if (c >= 'A' && c <= 'Z') { hasUpper = true; } else if (c >= '0' && c <= '9') { hasDigit = true; } else if (c == '!' || c == '@' || c == '#' || c == '$') { hasSpecial = true; } else { // 包含非法字符 return false; } } // 检查是否至少包含两种字符类型和一个特殊字符 int typeCount = (hasLower? 1 : 0) + (hasUpper? 1 : 0) + (hasDigit? 1 : 0); return typeCount >= 2 && hasSpecial; } int main() { string input; getline(cin, input); // 使用字符串流分割输入 stringstream ss(input); string password; while (getline(ss, password, ',')) { if (isValidPassword(password)) { cout << password << endl; } } return 0; } ``` 代码解释: 1. `isValidPassword` 函数: - 首先检查密码长度是否在 6 到 12 个字符之间。 - 遍历密码中的每个字符,标记是否包含小写字母、大写字母、数字和特殊字符。 - 若包含非法字符,直接返回 `false`。 - 最后检查是否至少包含两种字符类型和一个特殊字符。 2. `main` 函数: - 读取一行输入。 - 使用 `stringstream` 按逗号分割输入字符串。 - 对每个分割后的密码调用 `isValidPassword` 函数检查是否合规,若合规则输出。 ######[AI问答 | 567点数解答 | 2025-11-26 20:44:53]
- 基于逻辑回归的乳腺癌数据分类预测:分析威斯康星乳腺肿瘤数据集(阿里通义 | 889点数解答 | 2025-06-19 12:02:10)197
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- 缜密逻辑,全新无名杀“风餐”技能代码精心打造与深度解析 (字节豆包 | 469点数解答 | 2025-04-05 11:37:06)240
- 用 Python 生成可跳转至 “47.243.96.125:41736” 的二维码,还能扫描测试!(阿里通义 | 568点数解答 | 2024-08-27 16:40:38)267
- 用Python轻松创建并扫描二维码,一键跳转指定网站!(讯飞星火 | 532点数解答 | 2024-08-27 16:44:03)201
- Spring Boot 打造 MallShop 购物商城:多角色权限、全业务功能的 Web 应用奇迹 (GPT | 1095点数解答 | 2024-12-09 14:06:47)365
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)310
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)457
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)354
- 超便捷!网站会员注册流程及严格信息验证揭秘 (阿里通义 | 138点数解答 | 2024-03-06 17:37:05)257
- Java实现含姓名、性别等信息的注册功能,附Servlet处理及表单代码( | 2286点数解答 | 2024-04-02 14:54:20)298
- Java实现带验证码功能的用户登录程序:含示例代码与详细步骤( | 1826点数解答 | 2024-04-22 16:44:01)258