ios中正则表达式的一些应用

2017-12-07  本文已影响0人  Arthur澪

邮箱校验

+(BOOL)checkForEmail:(NSString *)email{

    NSString *regEx = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
    return [self baseCheckForRegEx:regEx data:email];
}

验证手机号

+(BOOL)checkForMobilePhoneNo:(NSString *)mobilePhone{

    NSString *regEx = @"^1[3|4|5|7|8][0-9]\\d{8}$";
    return [self baseCheckForRegEx:regEx data:mobilePhone];
}

身份证号验证

+ (BOOL) checkForIdCard:(NSString *)idCard{

    NSString *regEx = @"(^[0-9]{15}$)|([0-9]{17}([0-9]|X)$)";
    return [self baseCheckForRegEx:regEx data:idCard];
}

密码校验

+(BOOL)checkForPasswordWithShortest:(NSInteger)shortest longest:(NSInteger)longest password:(NSString *)pwd{
    NSString *regEx =[NSString stringWithFormat:@"^[a-zA-Z0-9]{%ld,%ld}+$", shortest, longest];
    return [self baseCheckForRegEx:regEx data:pwd];
}

以上配合的私有方法

+(BOOL)baseCheckForRegEx:(NSString *)regEx data:(NSString *)data{

    NSPredicate *card = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regEx];

    if (([card evaluateWithObject:data])) {
        return YES;
    }
    return NO;
}

参考资料
http://blog.csdn.net/ws1352864983/article/details/51932858 *

上一篇 下一篇

猜你喜欢

热点阅读