正则表达式的各种判断

#import "ViewController.h"

#import "ZYPredicateTool.h"

@interface ViewController ()

@property (weak, nonatomic) IBOutlet UITextField *IDTextField;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

}

//  例子

- (IBAction)testName:(id)sender {

if ([ZYPredicateTool validateTrueName:self.IDTextField.text] )

{

NSLog(@"是姓名");

}else{

NSLog(@"不是姓名");

}

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end


以上是调用

-------------华丽的分割线---------------

.h 文件

#import@interface ZYPredicateTool : NSObject

//  检验密码,6~20位,输入(字母或者数字)

+ (BOOL)validatePassword:(NSString *)passWord;

//  检验是否为用户名

+ (BOOL)validateTrueName:(NSString *)trueName;

//  检验是否是身份证号码

+ (BOOL) validateIdentityCard: (NSString *)identityCard;

// 邮箱

+ (BOOL) validateEmail:(NSString *)email;

// 手机号码验证

+ (BOOL) validateMobile:(NSString *)mobile;

//  车牌号验证

+ (BOOL) validateCarNo:(NSString *)carNo;

//  车型

+ (BOOL) validateCarType:(NSString *)CarType;

//  昵称

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

//  url

+ (BOOL) validateURL: (NSString *)url;

@end


.m 文件


#import "ZYPredicateTool.h"

@implementation ZYPredicateTool

//  检验密码,6~20位,输入(字母或者数字)

+ (BOOL)validatePassword:(NSString *)passWord

{

NSString *passWordRegex = @"^[a-zA-Z0-9]{6,20}+$";

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

return [passWordPredicate evaluateWithObject:passWord];

}

//  检验是否为用户名

+ (BOOL)validateTrueName:(NSString *)trueName

{

NSString *regex2 = @"^[\u4e00-\u9fa5]{2,20}";

NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];

return [identityCardPredicate evaluateWithObject:trueName];

}

//  检验是否是身份证号码

+ (BOOL)validateIdentityCard:(NSString *)identityCard

{

BOOL flag;

if (identityCard.length <= 0) {

flag = NO;

return flag;

}

NSString *regex2 = @"^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}[xX0-9]{1}$";

NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];

return [identityCardPredicate evaluateWithObject:identityCard];

}

//  邮箱

+ (BOOL) validateEmail:(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];

}

//  手机号码验证

+ (BOOL) validateMobile:(NSString *)mobile

{

//手机号以13, 15,18,17 开头,八个 \d 数字字符

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

NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];

return [phoneTest evaluateWithObject:mobile];

}

//  车牌号验证

+ (BOOL) validateCarNo:(NSString *)carNo

{

NSString *carRegex = @"^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{4}[a-zA-Z_0-9_\u4e00-\u9fa5]$";

NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",carRegex];

NSLog(@"carTest is %@",carTest);

return [carTest evaluateWithObject:carNo];

}

//  车型

+ (BOOL) validateCarType:(NSString *)CarType

{

NSString *CarTypeRegex = @"^[\u4E00-\u9FFF]+$";

NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",CarTypeRegex];

return [carTest evaluateWithObject:CarType];

}

//  用户名

+ (BOOL) validateUserName:(NSString *)name

{

NSString *userNameRegex = @"^[A-Za-z0-9]{6,20}+$";

NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",userNameRegex];

BOOL B = [userNamePredicate evaluateWithObject:name];

return B;

}

//  昵称

+ (BOOL) validateNickname:(NSString *)nickname

{

NSString *nicknameRegex = @"^[\u4e00-\u9fa5]{4,8}$";

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

return [passWordPredicate evaluateWithObject:nickname];

}

//  url

+ (BOOL) validateURL: (NSString *)url

{

NSString *regex = @"\\bhttps?://[a-zA-Z0-9\\-.]+(?::(\\d+))?(?:(?:/[a-zA-Z0-9\\-._?,'+\\&%$=~*!():@\\\\]*)+)?";

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

return [urlPredicate evaluateWithObject:url];

}

@end

推荐阅读更多精彩内容