美文网首页开发小Tips
iOS 开发: 用户名、邮箱、电话号码、密码、昵称正则表达式验证

iOS 开发: 用户名、邮箱、电话号码、密码、昵称正则表达式验证

作者: keelZJP | 来源:发表于2016-07-29 19:49 被阅读215次

    用户名验证:

    + (BOOL) validateUserName:(NSString *)name

    {

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

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

    BOOL B = [userNamePredicate evaluateWithObject:name];

    return B;

    }

    电话号码验证:

    + (BOOL) validateMobile:(NSString *)mobile

    {

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

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

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

    return [phoneTest evaluateWithObject:mobile];

    }

    邮箱验证:

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

    }

    密码验证

    + (BOOL) validatePassword:(NSString *)passWord

    {

    NSString *passWordRegex = @"^[a-zA-Z0-9]{6,20}+$";

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

    return [passWordPredicate evaluateWithObject:passWord];

    }

    身份证验证:

    + (BOOL) validateIdentityCard: (NSString *)identityCard

    {

    BOOL flag;

    if (identityCard.length <= 0) {

    flag = NO;

    return flag;

    }

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

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

    return [identityCardPredicate evaluateWithObject:identityCard];

    }

    昵称验证:

    + (BOOL) validateNickname:(NSString *)nickname

    {

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

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

    return [passWordPredicate evaluateWithObject:nickname];

    }

    车牌号验证:

    + (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 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",carRegex];

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

    return [carTest evaluateWithObject:carNo];

    }

    车型验证:

    + (BOOL) validateCarType:(NSString *)CarType

    {

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

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

    return [carTest evaluateWithObject:CarType];

    }

    相关文章

      网友评论

        本文标题:iOS 开发: 用户名、邮箱、电话号码、密码、昵称正则表达式验证

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