c语言正则函数检验手机号
时间: 2023-12-14 18:33:37 浏览: 83
C语言中可以使用正则表达式来检验手机号。在iOS开发中,可以使用NSPredicate类来进行正则表达式匹配。下面是一个子,演示如何使用NSPredicate类来检验手机号:
```objective-c
// 导入头文件
#import <Foundation/Foundation.h>
// 定义手机号
NSString *telNum = @"13800138000";
// 定义中国移动手机号正则表达式
NSString *regex_CU = @"^1(3[4-9]|5[012789]|8[23478]|4[7]|7[8])\\d{8}$";
// 定义中国电信手机号正则表达式
NSString *regex_CT = @"^1(3[0-2]|5[56]|8[56]|4[5]|7[6])\\d{8}$";
// 创建NSPredicate对象
NSPredicate *pred_CU = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex_CU];
NSPredicate *pred_CT = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex_CT];
// 使用NSPredicate对象进行正则表达式匹配
BOOL isMatch_CU = [pred_CU evaluateWithObject:telNum];
BOOL isMatch_CT = [pred_CT evaluateWithObject:telNum];
// 输出匹配结果
if (isMatch_CU) {
NSLog(@"%@ 是中国移动手机号", telNum);
} else if (isMatch_CT) {
NSLog(@"%@ 是中国电信手机号", telNum);
} else {
NSLog(@"%@ 不是中国移动或中国电信手机号", telNum);
}
```
运行上述代码,输出结果为:13800138000 是中国移动手机号。
阅读全文