判断字符串是否为空
- (BOOL)isBlankOrNullString:(NSString *)string {
if (string == nil || string == NULL) {
return YES;
}
if ([string isKindOfClass:[NSNull class]]) {
return YES;
}
//判断字符串为都为空格
if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]==0) {
return YES;
}
return NO;
}
根据字符串来计算Label的宽高
高度
- (float )heightWithString:(NSString *)string font:(UIFont *)font limitWidth:(float )limitWidth
{
NSDictionary * dictory = [NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName, nil];
CGSize detSize = CGSizeMake(limitWidth, MAXFLOAT);
CGRect rect = [string boundingRectWithSize:detSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dictory context:nil];
return rect.size.height;
}
宽度
- (float )widthWithString:(NSString *)string font:(UIFont *)font limitHeight:(float )limitHeight
{
NSDictionary * dictory = [NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName, nil];
CGSize detSize = CGSizeMake(MAXFLOAT, limitHeight);
CGRect rect = [string boundingRectWithSize:detSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dictory context:nil];
return rect.size.width;
}
拆分字符串
- (NSArray *)splitsTheString:(NSString *)string withSplitsString:(NSString *)splits
{
NSArray * array = [string componentsSeparatedByString:splits];
return array;
}
截取下标为index之前的字符串
- (NSString *)cutOutForeStringToIndex:(NSInteger )index cutString:(NSString *)cutString
{
if (index > cutString.length) {
return cutString;
}
if (index < 0 || index == 0) {
return nil;
}
NSString * string = [cutString substringFromIndex:index];
return string;
}
截取下标为index之后的字符串
- (NSString *)cutOutLaterStringFromIndex:(NSInteger )index cutString:(NSString *)cutString
{
if (index > cutString.length) {
return nil;
}
if (index < 0) {
return cutString;
}
NSString * string = [cutString substringFromIndex:index];
return string;
}
判断字符串是否包含
- (BOOL)estimateStringHasContainString:(NSString *)containString subString:(NSString *)subString
{
if (containString.length > 0&& containString.length > subString.length) {
NSRange range = [containString rangeOfString:subString];
if (range.location != NSNotFound) {
return YES;
}
}
return NO;
}
//判断手机号码格式是否正确 http://blog.csdn.net/liu_esther/article/details/51578762
+ (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;
}
}
}