美文网首页iOS 开发 学习
iOS 常用的正则判断

iOS 常用的正则判断

作者: 清蘂翅膀的技术 | 来源:发表于2017-05-16 14:09 被阅读21次

    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 常用的正则判断

        本文链接:https://www.haomeiwen.com/subject/whjlxxtx.html