请教个问题:后台返回的json数据,有字符串和数字组成的信息。如何获取其中的电话号码,让其能够点击并且进行拨打。
光阴似箭催人老,日月如移越少年。
把json数据获取到后,用NSString统一接受字符串和数字,在对其检测,一般手机号长度都是固定的。就可以 最后将这个子串获取后,在加上tel://就可以了
-(void)callPhone:(NSString*)phoneNumber{ NSString *phoneStr=[NSString stringWithFormat:@"tel://%@",phoneNumber]; NSURL *url=[NSURL URLWithString:phoneStr]; [[UIApplication sharedApplication] openURL:url]; }
NSString *string; NSString *pattern; pattern=@"\\d*"; string=@"s100s110s111jdlfj18203092902lsd"; NSError *error; NSRegularExpression *regex = [[NSRegularExpression alloc] initWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:&error]; NSLog(@"%@",error); [regex enumerateMatchesInString:string options:NSMatchingReportProgress range:NSMakeRange(0, string.length) usingBlock:^(NSTextCheckingResult * _Nullable result, NSMatchingFlags flags, BOOL * _Nonnull stop) { if (NSMatchingReportProgress==flags) { }else{ /** * 系统内置方法 */ if (NSTextCheckingTypePhoneNumber==result.resultType) { NSLog(@"%@",[string substringWithRange:result.range]); } /** * 长度为11位的数字串 */ if (result.range.length==11) { NSLog(@"%@",[string substringWithRange:result.range]); } } }];
把json数据获取到后,用NSString统一接受字符串和数字,在对其检测,一般手机号长度都是固定的。就可以 最后将这个子串获取后,在加上tel://就可以了