iOS注册验证

来源:互联网 发布:app数据分析公司 编辑:程序博客网 时间:2024/06/01 07:40
出处:http://blog.sina.com.cn/s/blog_aba4c2850102wocc.html

//验证电子邮件

- (BOOL)isEmail{

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

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

    return [predicate evaluateWithObject:self];

}


//验证手机号

- (BOOL)isMobilePhoneNumber{

   

    NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";

   

    NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[2378])\\d)\\d{7}$";

   

    NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";

   

    NSString * CT = @"^1((33|53|8[019])[0-9]|349)\\d{7}$";

   

    // NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";

    

    NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];

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

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

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

    

    if (([regextestmobile evaluateWithObject:self] == YES)

        || ([regextestcm evaluateWithObject:self] == YES)

        || ([regextestct evaluateWithObject:self] == YES)

        || ([regextestcu evaluateWithObject:self] == YES))

    {

        return YES;

    }

    else

    {

        return NO;

    }

}


//验证是否是数字

- (BOOL)isNumber{

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

    NSPredicate *numberTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", numberRegex];

    BOOL isMatch = [numberTest evaluateWithObject:self];

    if (!isMatch) {

        return NO;

    }

    return YES;

}


//验证车牌号

- (BOOL)isPlateNumber{

    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:self];

}


//验证IP地址

- (BOOL)isIpAddress{

    NSString  *urlRegEx =@"^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\."

    "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\."

    "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\."

    "([01]?\\d\\d?|2[0-4]\\d|25[0-5])$";

    

    NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx];

    return [urlTest evaluateWithObject:self];

}


//验证端口号

- (BOOL)isPort{

    NSString *regex = @"^([1-9]|[1-9]\\d{1,3}|[1-6][0-5][0-5][0-3][0-5])$";

    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];

    return [pred evaluateWithObject:self];

}


//验证域名

- (BOOL)isURL{

    NSString *regex = @"((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\\.\\-~!@#$%^&*+?:_/=<>]*)?)";

    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];

    return [pred evaluateWithObject:self];

}


//验证身份证号

- (BOOL)isIDNumber{

    BOOL flag;

    if (self.length <= 0) {

        flag = NO;

        return flag;

    }

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

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

    return [identityCardPredicate evaluateWithObject:self];

}


//验证密码

- (BOOL)isPassword{

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

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

    return [passWordPredicate evaluateWithObject:self];

}


//正常字符包括中文,英文,数字,下划线

- (BOOL)isNotNontainsSpecialCharacters{

    NSString *regex = @"^[\u4e00-\u9fa5_a-zA-Z0-9]+$";

    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];

    return [pred evaluateWithObject:self];

}

0 0
原创粉丝点击