suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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

请教个问题:后台返回的json数据,有字符串和数字组成的信息。如何获取其中的电话号码,让其能够点击并且进行拨打。

大家讲道理大家讲道理2893 Tage vor328

Antworte allen(2)Ich werde antworten

  • 大家讲道理

    大家讲道理2017-04-17 17:52:39

    把json数据获取到后,用NSString统一接受字符串和数字,在对其检测,一般手机号长度都是固定的。就可以 最后将这个子串获取后,在加上tel://就可以了

    Antwort
    0
  • 怪我咯

    怪我咯2017-04-17 17:52:39

    -(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]);
            }
          }
        }];
    

    Antwort
    0
  • StornierenAntwort