ios邮箱、手机、座机号码判断及调用

2017-10-30  本文已影响0人  浅_若清风

一、导入#import <MessageUI/MessageUI.h>框架
二、添加MFMessageComposeViewControllerDelegate,MFMailComposeViewControllerDelegate代理
三、方法实现

-(void)number:(NSString *)numberStr {

    if ([self isEmailNumber:numberStr]) {
        NSLog(@"邮箱");
        [[UIApplication sharedApplication]openURL:[NSURL  URLWithString:[NSString stringWithFormat:@"mailto:%@",numberStr]]];

    }else if ([self isTelPhoneNumber:numberStr]){
        NSLog(@"座机");
        NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",numberStr];
        UIWebView * callWebview = [[UIWebView alloc] init];
        [callWebview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]]];
        [self.view addSubview:callWebview];
        [[UIApplication sharedApplication]openURL:[NSURL URLWithString:numberStr]];

    }else if ([self isMobileNumber:numberStr]){
        NSLog(@"手机");
        UIAlertController *alertController=[UIAlertController alertControllerWithTitle:@"" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
        UIAlertAction *cancleAction=[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){   
        }];
        UIAlertAction *palyTelephone=[UIAlertAction actionWithTitle:@"打电话" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){
            NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",numberStr];
            UIWebView * callWebview = [[UIWebView alloc] init];
            [callWebview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]]];
            [self.view addSubview:callWebview];
            [[UIApplication sharedApplication]openURL:[NSURL URLWithString:numberStr]];
        }];
        UIAlertAction *setMessage=[UIAlertAction actionWithTitle:@"发短信" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){
            MFMessageComposeViewController *vc = [[MFMessageComposeViewController alloc] init];
            vc.recipients = @[[NSString stringWithFormat:@"%@",numberStr]];
            // 设置代理
            vc.messageComposeDelegate = self;
            // 以modal的方式跳转到发送短信的控制器
            [self presentViewController:vc animated:YES completion:nil];
        }];
        [alertController addAction:palyTelephone];
        [alertController addAction:setMessage];
        [alertController addAction:cancleAction];
        [self presentViewController:alertController animated:YES completion:^{}];

    }else{

    }
}

#pragma mark - 是否座机号🐎
- (BOOL)isTelPhoneNumber:(NSString *)mobileNum{
    //验证输入的固话中带 "-"符号
    NSString * strNum = @"^(0\\d{2,3}-?\\d{7,8}$)";
    NSPredicate *checktest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", strNum];
    BOOL isPhene = [checktest evaluateWithObject:mobileNum];
    NSString * strNum1 = @"^(\\d{7,8}$)";
    NSPredicate *checktest1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", strNum1];
    BOOL isPhene1 = [checktest1 evaluateWithObject:mobileNum];
    if (isPhene || isPhene1) {
        return YES;
    }
    return NO;
}

pragma mark - 是否是手机号🐎

上一篇 下一篇

猜你喜欢

热点阅读