iphone 注册校验(正则)

最近在做用户管理程序,在做的过程中用户注册信息校验在网上查了好久,没查到现成的代码,只能自己写了,
代码放在这里,有需要直接拿去。自己也做备份,以后使用方便。
//校验用户名
+ (BOOL) validateUserName : (NSString *) str
{
    NSString *patternStr = [NSString stringWithFormat:@"^.{0,4}$|.{21,}|^[^A-Za-z0-9\u4E00-\u9FA5]|[^\\w\u4E00-\u9FA5.-]|([_.-])\1"];
    NSRegularExpression *regularexpression = [[NSRegularExpression alloc] 
                                              initWithPattern:patternStr
                                              options:NSRegularExpressionCaseInsensitive 
                                              error:nil];
    NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str 
                                                                  options:NSMatchingReportProgress
                                                                    range:NSMakeRange(0, str.length)];
    
    [regularexpression release];
    
    if(numberofMatch > 0)
    {
        return YES;
    }
    return NO;
}

//校验用户密码
+ (BOOL) validateUserPasswd : (NSString *) str
{
    
    NSRegularExpression *regularexpression = [[NSRegularExpression alloc] 
                                              initWithPattern:@"^[a-zA-Z0-9]{6,16}$"
                                              options:NSRegularExpressionCaseInsensitive 
                                              error:nil];
    NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str 
                                                                  options:NSMatchingReportProgress
                                                                    range:NSMakeRange(0, str.length)];
    
    [regularexpression release];
    
    if(numberofMatch > 0)
    {
        NSLog(@"%@ isNumbericString: YES", str);
        return YES;
    }
    
    NSLog(@"%@ isNumbericString: NO", str);
    return NO;
}

//校验用户生日
+ (BOOL) validateUserBornDate : (NSString *) str
{
    
    NSString *patternStr = @"^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$";
    NSRegularExpression *regularexpression = [[NSRegularExpression alloc] 
                                              initWithPattern:patternStr
                                              options:NSRegularExpressionCaseInsensitive 
                                              error:nil];
    NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str 
                                                                  options:NSMatchingReportProgress
                                                                    range:NSMakeRange(0, str.length)];
    
    [regularexpression release];
    
    if(numberofMatch > 0)
    {
        NSLog(@"%@ isNumbericString: YES", str);
        return YES;
    }
    
    NSLog(@"%@ isNumbericString: NO", str);
    return NO;
}

//校验用户手机号码
+ (BOOL) validateUserPhone : (NSString *) str
{
    NSRegularExpression *regularexpression = [[NSRegularExpression alloc] 
                                              initWithPattern:@"((\\d{11})|^((\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1})|(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1}))$)"
                                              options:NSRegularExpressionCaseInsensitive 
                                              error:nil];
    NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str 
                                                                  options:NSMatchingReportProgress
                                                                    range:NSMakeRange(0, str.length)];
    
    [regularexpression release];
    
    if(numberofMatch > 0)
    {
        NSLog(@"%@ isNumbericString: YES", str);
        return YES;
    }
    
    NSLog(@"%@ isNumbericString: NO", str);
    return NO;
}

//校验用户邮箱
+ (BOOL) validateUserEmail : (NSString *) str
{
    NSRegularExpression *regularexpression = [[NSRegularExpression alloc] 
                                              initWithPattern:@"\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"
                                              options:NSRegularExpressionCaseInsensitive 
                                              error:nil];
    NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str 
                                                                  options:NSMatchingReportProgress
                                                                    range:NSMakeRange(0, str.length)];
    
    [regularexpression release];
    
    if(numberofMatch > 0)
    {
        NSLog(@"%@ isNumbericString: YES", str);
        return YES;
    }
    
    NSLog(@"%@ isNumbericString: NO", str);
    return NO;
}
 

相关推荐