用c++代码实现某城市电话号码由三部分组成,分别是: 地区码—— 空白或三位数字; 前缀—— 非‘0’或‘1’开头的三位数字; 后缀—— 4位数字。 假定被测程序能接受一切符合上述规定的电话号码, 拒绝所有不符合规定的电话号码
时间: 2023-11-22 20:04:15 浏览: 58
以下是用C++实现检验电话号码是否符合要求的代码:
```c++
#include <iostream>
#include <string>
#include <regex>
using namespace std;
bool isValidPhoneNumber(string phoneNumber) {
regex pattern("^(\\d{3}|\\s)\\d{3}[1-9]\\d{3}$");
return regex_match(phoneNumber, pattern);
}
int main() {
string phoneNumber;
cout << "请输入电话号码:" << endl;
cin >> phoneNumber;
if (isValidPhoneNumber(phoneNumber)) {
cout << "输入的电话号码符合要求!" << endl;
} else {
cout << "输入的电话号码不符合要求!" << endl;
}
return 0;
}
```
这段代码利用了正则表达式来检验电话号码是否符合要求,正则表达式的模式为 "^(\\d{3}|\\s)\\d{3}[1-9]\\d{3}$",其中:
- ^ 表示字符串的开头
- (\\d{3}|\\s) 表示三位数字或空白符
- \\d{3} 表示三位数字
- [1-9] 表示非0或1的数字
- \\d{3} 表示三位数字
- $ 表示字符串的结尾
如果输入的电话号码符合要求,isValidPhoneNumber函数会返回true,否则返回false。
阅读全文