iOS中系统自带正则表达式的应用

来源:互联网 发布:想开淘宝卖什么比较好 编辑:程序博客网 时间:2024/05/21 18:49

//校验用户名  

+ (BOOL) validateUserName : (NSString *) str  
{  
    NSString *patternStr = [NSString stringWithFormat:@"^.{0,4}$|.{21,}|^[^A-Za-z0-9u4E00-u9FA5]|[^\wu4E00-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;  
}

原创粉丝点击