iOS 正则表达式

来源:互联网 发布:旅游数据库概念模型 编辑:程序博客网 时间:2024/04/30 20:57


//数字

+ (BOOL)validataNumber:(NSString *)number{

    NSString *numberRegex =@"^[0-9]*$";

    NSPredicate *emailTest = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", numberRegex];

    return [emailTestevaluateWithObject:number];

}

//邮箱

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

    NSString *emailRegex =@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";

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

    return [emailTestevaluateWithObject:email];

}

//手机号码验证

+ (BOOL)validateMobile:(NSString *)mobile{

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

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

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

    return [phoneTestevaluateWithObject:mobile];

}

+ (BOOL)isMobile:(NSString *)mobileNumbel{

    // 中国移动:China Mobile

    

    NSString *CM =@"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";

    

    //中国联通:China Unicom

    NSString *CU =@"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";

    

    // 中国电信:China Telecom

    

    NSString *CT =@"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";

    

    NSPredicate *regextestcm = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", CM];

    NSPredicate *regextestcu = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", CU];

    NSPredicate *regextestct = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", CT];

    

    if (([regextestcmevaluateWithObject:mobileNumbel]

         || [regextestct evaluateWithObject:mobileNumbel]

         || [regextestcu evaluateWithObject:mobileNumbel])) {

        return YES;

    }

    

    returnNO;

}

//车牌号验证

+ (BOOL) validateCarNo:(NSString *)carNo{

    NSString *carRegex =@"^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{4}[a-zA-Z_0-9_\u4e00-\u9fa5]$";

    NSPredicate *carTest = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",carRegex];

    NSLog(@"carTest is %@",carTest);

    return [carTestevaluateWithObject:carNo];

}

//车型

+ (BOOL) validateCarType:(NSString *)CarType{

    NSString *CarTypeRegex =@"^[\u4E00-\u9FFF]+$";

    NSPredicate *carTest = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",CarTypeRegex];

    return [carTestevaluateWithObject:CarType];

}

//用户名

+ (BOOL) validateUserName:(NSString *)name{

    NSString *userNameRegex =@"^[A-Za-z0-9]{6,20}+$";

    NSPredicate *userNamePredicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",userNameRegex];

    BOOL B = [userNamePredicateevaluateWithObject:name];

    return B;

}

//密码

+ (BOOL) validatePassword:(NSString *)passWord{

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

    NSPredicate *passWordPredicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",passWordRegex];

    return [passWordPredicateevaluateWithObject:passWord];

}

//昵称

+ (BOOL) validateNickname:(NSString *)nickname{

    NSString *nicknameRegex =@"^[\u4e00-\u9fa5]{4,8}$";

    NSPredicate *passWordPredicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",nicknameRegex];

    return [passWordPredicateevaluateWithObject:nickname];

}

//身份证号

+ (BOOL) validateIdentityCard: (NSString *)identityCard{

    BOOL flag;

    if (identityCard.length <=0) {

        flag = NO;

        return flag;

    }

    NSString *regex2 =@"^(\\d{14}|\\d{17})(\\d|[xX])$";

    NSPredicate *identityCardPredicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",regex2];

    return [identityCardPredicateevaluateWithObject:identityCard];

}

//日期

+ (BOOL)validateDate:(NSString *)date{

    NSString *dateRegex =@"^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$";

    NSPredicate *passWordPredicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",dateRegex];

    return [passWordPredicateevaluateWithObject:date];

}

//中文

+ (BOOL)validateChinese:(NSString *)string{

    NSString *dateRegex =@"^[\u4e00-\u9fa5]{0,}$";

    NSPredicate *passWordPredicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",dateRegex];

    return [passWordPredicateevaluateWithObject:string];

}



0 0