iOS 常用的正则判断

1、正则判断中文

//  ^[\u4e00-\u9fa5]*$ 限制只能输入中文的正则

if(![selfmatchStringFormat:self.accountTextField.textwithRegex:@"^[\u4e00-\u9fa5]*$"]){

[MBProgressHUD showHUDAddedTo:self.viewWithString:@"请输入中文,不能包含字母或数字"];

}

#pragma mark - 正则判断

- (BOOL)matchStringFormat:(NSString*)matchedStr withRegex:(NSString*)regex

{

//SELF MATCHES一定是大写

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

return[predicate evaluateWithObject:matchedStr];

}

2、判断输入是否是手机号码

- (NSString *)valiMobile:(NSString *)mobile{

if (mobile.length < 11)

{

return @"手机号长度只能是11位";

}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 nil;

}else{

return @"请输入正确的电话号码";

}

}

return nil;

}

3、iOS-根据银行卡号判断银行名称

bank.plist 下载地址:https://app.yinxiang.com/shard/s70/nl/2147483647/e2666d20-2a9c-47ce-ac1b-eb87cb521db8/

- (NSString *)returnBankName:(NSString*) idCard{

if(idCard==nil || idCard.length<16 || idCard.length>23){

return @"";

}

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"bank" ofType:@"plist"];

NSDictionary* resultDic = [NSDictionary dictionaryWithContentsOfFile:plistPath];

NSArray *bankBin = resultDic.allKeys;

//6位Bin号

NSString* cardbin_6 = [idCard substringWithRange:NSMakeRange(0, 6)];

//8位Bin号

NSString* cardbin_8 = [idCard substringWithRange:NSMakeRange(0, 8)];

if ([bankBin containsObject:cardbin_6]) {

return [resultDic objectForKey:cardbin_6];

}else if ([bankBin containsObject:cardbin_8]){

return [resultDic objectForKey:cardbin_8];

}else{

return @"";

}

return @"";

}

你可能感兴趣的:(iOS 常用的正则判断)