C++编程电话号码合法要求: 电话号码由三部分构成 地区码:空白或三位数字 前缀码:非"0"或”1”开头的三位数字 后缀码:四位数字 符合以上要求的为合法电话号码
时间: 2024-02-18 16:05:33 浏览: 14
好的,以下是一个简单的 C++ 程序来判断一个电话号码是否符合合法要求:
```c++
#include <iostream>
#include <string>
#include <regex>
using namespace std;
bool is_valid_phone_number(string phone_number) {
// 定义正则表达式
regex pattern("\\s*([0-9]{3})?\\s*([2-9][0-9]{2})\\s*([0-9]{4})\\s*");
// 判断是否匹配正则表达式
return regex_match(phone_number, pattern);
}
int main() {
// 读入电话号码
string phone_number;
cout << "请输入电话号码:";
getline(cin, phone_number);
// 判断是否合法
if (is_valid_phone_number(phone_number)) {
cout << "电话号码合法。" << endl;
} else {
cout << "电话号码不合法。" << endl;
}
return 0;
}
```
该程序使用了正则表达式来判断电话号码是否符合合法要求。其中,正则表达式的含义如下:
- `\\s*`:匹配零个或多个空白字符。
- `([0-9]{3})?`:匹配三位数字,可选。
- `\\s*`:匹配零个或多个空白字符。
- `([2-9][0-9]{2})`:匹配非"0"或"1"开头的三位数字。
- `\\s*`:匹配零个或多个空白字符。
- `([0-9]{4})`:匹配四位数字。
- `\\s*`:匹配零个或多个空白字符。
如果电话号码符合该正则表达式,则被认为是合法的。