iOS输入一个字符串,判断这个字符串是否是有效的IP地址

2020-06-16 15:04:29 浏览数 (1)

代码语言:javascript复制
  (BOOL)isValidIP:(NSString *)ipStr {
    if (nil == ipStr) {
        return NO;
   }

    NSArray *ipArray = [ipStr componentsSeparatedByString:@"."];
    if (ipArray.count == 4) {
        for (NSString *ipnumberStr in ipArray) {
             if ([self isPureInt:ipnumberStr]) {
                int ipnumber = [ipnumberStr intValue];
              if (!(ipnumber>=0 && ipnumber<=255)) {
                  return NO;
              }
            }
        }
        return YES;
    }
    return NO;
}

//是否整形
  (BOOL)isPureInt:(NSString*)string {
  NSScanner* scan = [NSScanner scannerWithString:string];
  int val;
  return[scan scanInt:&val] && [scan isAtEnd];
}

//是否只含有数字
  (BOOL)validateNumber:(NSString*)number {
  BOOL res = YES;
  NSCharacterSet* tmpSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
  int i = 0;
  while (i < number.length) {
      NSString * string = [number substringWithRange:NSMakeRange(i, 1)];
      NSRange range = [string rangeOfCharacterFromSet:tmpSet];
      if (range.length == 0) {
          res = NO;
          break;
      }
      i  ;
  }
  return res;

}

0 人点赞