IOS 正则表达式判断

/**

 *  检测手机号码

 */

+ (BOOL)checkTel:(NSString *)str {

    

    if (str.length != 11) {

        [SVProgressHUD showErrorWithStatus:@"请输入正确的手机号码"];

        return NO;

    }

    

    NSString *regex = @"^((13[0-9])|(147)|(15[0-9])|(17[0,7-9])|(18[0-9]))\\d{8}$";

    

    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];

    

    BOOL isMatch = [pred evaluateWithObject:str];

    

    if (!isMatch) {

        [SVProgressHUD showErrorWithStatus:@"请输入正确的手机号码"];

        return NO;

        

    }

    return YES;

}



/**

 *  检测输入的内容 - 中文,字母或是数字

 */

+(BOOL)validateNickname:(NSString *)nickname{

    

      NSString *nicknameRegex = @"^[\u4e00-\u9fa5A-Za-z0123456789]{1,10}$";

      NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nicknameRegex];

      return [passWordPredicate evaluateWithObject:nickname];

}




/**

 *  检测输入的内容 - 中文

 */

+(BOOL)validateNickname:(NSString *)nickname{

  

    NSString *regex = @"[\u4e00-\u9fa5]+";

    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];

    return [pred evaluateWithObject:nickname];

}




/**

 *  检测密码 - 6-16 ,必须有数字和字母

 *

 */

+ (BOOL)checkPassword:(NSString *)str{

    

    if (str.length > 16 || str.length < 6) {

        [SVProgressHUD showErrorWithStatus:@"请输入6-16位的密码"];

        return NO;

    }

 

     NSString *regex = @"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$";

    

    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];

    

    BOOL isMatch = [pred evaluateWithObject:str];

    if (!isMatch) {

        [SVProgressHUD showErrorWithStatus:@"请输入由6-16位数字、字母组合的密码"];

        return NO;

    }

    return YES;

}




/**

 *  检测密码 -  6-16位 ,纯数字、纯英文、数字+英文

 *

 */

+ (BOOL)checkPassword:(NSString *)str{

    

    if (str.length > 16 || str.length < 6) {

        [SVProgressHUD showErrorWithStatus:@"请输入6-16位的密码"];

        return NO;

    }


    NSString *regex = @"^[A-Za-z0-9]{6,16}$";

    

    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];

    

    BOOL isMatch = [pred evaluateWithObject:str];

    if (!isMatch) {

        [SVProgressHUD showErrorWithStatus:@"请输入由6-16位数字、字母组合的密码"];

        return NO;

    }

    return YES;

}



/**

 *  检测密码 -  不能含有特殊字符

 *

 */

+ (BOOL)checkPassword:(NSString *)str {

    if (str.length > 16 || str.length < 6) {

        [SVProgressHUD showErrorWithStatus:@"请输入正确的格式的密码"];

        

        return NO;

    }

    

    NSString *regex = @"^(?!_)(?!.*?_$@#$%&)[a-zA-Z0-9\u4e00-\u9fa5]+$";

    

    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];

    

    BOOL isMatch = [pred evaluateWithObject:str];

    if (!isMatch) {

        [SVProgressHUD showErrorWithStatus:@"请输入正确的格式的密码"];

        return NO;

    }

    return YES;

}



/**

 *  检测价格

 *

 */

+ (BOOL)checkPrice:(NSString *)str {

    

    if (str.length == 0) {

        [SVProgressHUD showErrorWithStatus:@"请输入商品价格"];

        [SVProgressHUD setMinimumDismissTimeInterval:2];

        return NO;

    }

    

    NSString *regex = @"^([0-9]|[.])+$";

    

    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];

    

    BOOL isMatch = [pred evaluateWithObject:str];

    if (!isMatch) {

        [SVProgressHUD showErrorWithStatus:@"请输入正确的格式的价格"];

        return NO;

    }

    

    NSLog(@"%@",NSStringFromRange([str rangeOfString:@"."]));

    if ([str rangeOfString:@"."].location != NSNotFound) {

        if (str.length > 9) {

            [SVProgressHUD showErrorWithStatus:@"请输入999999以内的价格"];

            [SVProgressHUD setMinimumDismissTimeInterval:2];

            return NO;

        }

    }

    else {

        if (str.length > 6) {

            [SVProgressHUD showErrorWithStatus:@"请输入999999以内的价格"];

            [SVProgressHUD setMinimumDismissTimeInterval:2];

            return NO;

        }

    }

   

    return YES;

}



/**

 *  检测日期

 *

 */

+ (NSString *)isToday:(NSString *)date {

    

    NSDate *currentData = [NSDate date];

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

    dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss.S";

    NSString *currentStr = [dateFormatter stringFromDate:currentData];

    

    if ([[date substringToIndex:10] isEqualToString:[currentStr substringToIndex:10]]) {

        return @"今天";

    }

    else {

        return [currentStr substringToIndex:10];

    }

}


/**

 *  检测  是否登陆查看

 *

 */

+ (BOOL)judgeUserLoginStateWithController:(UIViewController *)controller {

    if (![LUUserInfo shareInstance].userPassword) {

        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"" message:@"需要登录后才能访问" preferredStyle:UIAlertControllerStyleAlert];

        

        UIAlertAction *login = [UIAlertAction actionWithTitle:@"登录" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

            [controller presentViewController:[[LULoginViewController alloc] init] animated:YES completion:nil];

        }];

        

        UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"再逛逛" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

            

        }];

        

        [alertController addAction:login];

        [alertController addAction:cancel];

        

        [controller presentViewController:alertController animated:YES completion:nil];

        

        return NO;

    }

    else {

        return YES;

    }

}




你可能感兴趣的:(判断-正则)