ios截取号码

时间:2024-10-23 10:07:44

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

{

NSString *url = request.URL.absoluteString;

if ([url hasPrefix:@"tel:"]) {

DLog(@"url%@",url);

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"" message:[NSString stringWithFormat:@"是否拨打电话%@?",url] delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"拨打", nil];

[alertView show];

}

NSRange range = [url rangeOfString:@"tel:"];

NSUInteger loc = range.location;

if (loc != NSNotFound) { // url的协议头是hm

// 方法名

NSString *method = [url substringFromIndex:loc + range.length];

DLog(@"method%@",method);

// 转成SEL

// 是否拨打电话400-690-6898?

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"" message:[NSString stringWithFormat:@"是否拨打电话%@?",method] delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"拨打", nil];

[alertView show];

//        SEL sel = NSSelectorFromString(method);

//        [self performSelector:sel withObject:nil];

}

return YES;

}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{

//    DLog(@"buttonIndex%@",alertView.message);

NSRange range = [alertView.message rangeOfString:@"是否拨打电话"];

NSUInteger loc = range.location;

//    DLog(@"%zd",loc);

if (loc != NSNotFound) {

NSString *str = [alertView.message substringFromIndex:loc + range.length];

str = [str substringToIndex:str.length -1];

DLog(@"%@",str);

}

if (1==buttonIndex) {

[[UIApplication sharedApplication]openURL:[NSURL URLWithString:str]];

}

}

【微分享】:闲时多读书,博览聚才气;众前慎言行,低调养清气。