iOS 常用的正則判斷

1、正則判斷中文

//? ^[\u4e00-\u9fa5]*$ 限制只能輸入中文的正則

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

[MBProgressHUD?showHUDAddedTo:self.viewWithString:@"請輸入中文,不能包含字母或數(shù)字"];

}

#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}$";

/**

* 聯(lián)通號段正則表達式

*/

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-根據(jù)銀行卡號判斷銀行名稱

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 @"";

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容