常用的正则表达式

1.正则表达式 判断 英文和数字

+ (BOOL) validateABC123:(NSString *)text

{

NSString *textRegex = @"^[A-Za-z0-9]+$";

NSPredicate *textTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",textRegex];

return [textTest evaluateWithObject:text];

}

2.正则表达式 判断 邮箱

+ (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];

}

3.正则表达式 判断  手机号码验证

- (BOOL) validateMobile:(NSString *)mobile

{

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

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

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

return [phoneTest evaluateWithObject:mobile];

}

4.正则表达式 获取 url

+ (NSMutableArray*) validateUrl:(NSString *)urlString

{

NSMutableArray* urlArr=[[NSMutableArray alloc] init];

NSError *error;

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

NSString *regulaStr = @"((http[s]{0,1}|ftp)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(demo.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(test.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)";

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regulaStr

options:NSRegularExpressionCaseInsensitive

error:&error];

NSArray *arrayOfAllMatches = [regex matchesInString:urlString options:0 range:NSMakeRange(0, [urlString length])];

for (NSTextCheckingResult *match in arrayOfAllMatches)

{

NSString* substringForMatch = [urlString substringWithRange:match.range];

[urlArr addObject:[NSArray arrayWithObjects:substringForMatch,[NSString stringWithFormat:@"%ld",(long)match.range.location],nil]];

}

return urlArr;

}

你可能感兴趣的:(常用的正则表达式)