首页 > ios--后台返回信息有字符串和数字组成的,如何获取电话号码,让用户能够点击并且进行拨打?

ios--后台返回信息有字符串和数字组成的,如何获取电话号码,让用户能够点击并且进行拨打?

请教个问题:后台返回的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]);
        }
      }
    }];
【热门文章】
【热门文章】