iOS常用的公共方法详解

2020-01-18 19:03:31于海丽

使用如下:


NSLog(@"nnresult: %@", [Utilities timeIntervalFromLastTime:@"2015年12月8日 15:50"
lastTimeFormat:@"yyyy年MM月dd日 HH:mm"
ToCurrentTime:@"2015/12/08 16:12"
currentTimeFormat:@"yyyy/MM/dd HH:mm"]);

输出结果如下:

iOS,方法

输出结果

9. 判断手机号码格式是否正确


//判断手机号码格式是否正确
+ (BOOL)valiMobile:(NSString *)mobile{
 mobile = [mobile stringByReplacingOccurrencesOfString:@" " withString:@""];
 if (mobile.length != 11)
 {
  return NO;
 }else{
  /**
   * 移动号段正则表达式
   */
  NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))d{8}|(1705)d{7}$";
  /**
   * 联通号段正则表达式
   */
  NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))d{8}|(1709)d{7}$";
  /**
   * 电信号段正则表达式
   */
  NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))d{8}$";
  NSPredicate *pred1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM_NUM];
  BOOL isMatch1 = [pred1 evaluateWithObject:mobile];
  NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM];
  BOOL isMatch2 = [pred2 evaluateWithObject:mobile];
  NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM];
  BOOL isMatch3 = [pred3 evaluateWithObject:mobile];
  if (isMatch1 || isMatch2 || isMatch3) {
   return YES;
  }else{
   return NO;
  }
 }
}

10. 判断邮箱格式是否正确


//利用正则表达式验证
+ (BOOL)isAvailableEmail:(NSString *)email {
 NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4}";
 NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
 return [emailTest evaluateWithObject:email];
}

11. 将十六进制颜色转换为 UIColor 对象


//将十六进制颜色转换为 UIColor 对象
+ (UIColor *)colorWithHexString:(NSString *)color{
 NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
 // String should be 6 or 8 characters
 if ([cString length] < 6) {
  return [UIColor clearColor];
 }
 // strip "0X" or "#" if it appears
 if ([cString hasPrefix:@"0X"])
  cString = [cString substringFromIndex:2];
 if ([cString hasPrefix:@"#"])
  cString = [cString substringFromIndex:1];
 if ([cString length] != 6)
  return [UIColor clearColor];
 // Separate into r, g, b substrings
 NSRange range;
 range.location = 0;
 range.length = 2;
 //r
 NSString *rString = [cString substringWithRange:range];
 //g
 range.location = 2;
 NSString *gString = [cString substringWithRange:range];
 //b
 range.location = 4;
 NSString *bString = [cString substringWithRange:range];
 // Scan values
 unsigned int r, g, b;
 [[NSScanner scannerWithString:rString] scanHexInt:&r];
 [[NSScanner scannerWithString:gString] scanHexInt:&g];
 [[NSScanner scannerWithString:bString] scanHexInt:&b];
 return [UIColor colorWithRed:((float) r / 255.0f) green:((float) g / 255.0f) blue:((float) b / 255.0f) alpha:1.0f];
}