首页 > 技术文章 > iOS正则表达式

jx66 2016-08-04 09:45 原文

//包含数字和字母的密码长度6-16位

-(BOOL) validatePassword:(NSString *)password

{

    //密码正则表达式

    NSString *passwordRegex = @"^(?=.*?[a-zA-Z])(?=.*?[0-9])[a-zA-Z0-9]{6,16}$";

    NSPredicate *passwordTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",passwordRegex];

    return [passwordTest evaluateWithObject:password];

}

-(BOOL) validateEmail:(NSString *)email

{

    //邮箱正则表达式

    NSString *emailRegex = @"^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$";

    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",emailRegex];

    return [emailTest evaluateWithObject:email];

}

//手机号匹配11,12,13,14,15,16,17,18,19开头

-(BOOL) validateMobile:(NSString *)mobile

{

    //手机正则表达式

    NSString *mobileRegex = @"^(1[123456789][0-9]{9})$";

    NSPredicate *mobileTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",mobileRegex];

    return [mobileTest evaluateWithObject:mobile];

}

-(BOOL) validateTel:(NSString *)tel

{

    //传真,固定电话正则表达式

    NSString *phoneRegex = @"^(([0\\+]\\d{2,3}-)?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{3,}))?$";

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

    return [phoneTest evaluateWithObject:tel];

}

推荐阅读