uitextfield运用正则表达式

NSRegularExpression是iOS系统在4.0后自带的匹配正则表达式,一般会和NSTextCheckingResult配套使用。  

代码:

//匹配输入的联系方式是否为QQ号码或者电子邮箱

       NSString *patternQQ = @"^[1-9](\\d){4,9}$";
       NSString *patternEmail = @"\\b([a-zA-Z0-9%_.+\\-]+)@([a-zA-Z0-9.\\-]+?\\.[a-zA-Z]{2,6})\\b";
       NSError *error = NULL;
       //定义正则表达式
       NSRegularExpression *regexQQ = [NSRegularExpression regularExpressionWithPat tern:patternQQ options:0 error:&error];
       NSRegularExpression *regexEmail = [NSRegularExpression regularExpressionWithPat tern:patternEmail options:0 error:&error];
       //使用正则表达式匹配字符
       NSTextCheckingResult *isMatchQQ = [regexQQ firstMatchInString:textField.text 
                                                                                                                   options:0
                                                                                                                       range:NSMakeRange(0, [textField.text length])];
       NSTextCheckingResult *isMatchEmail = [regexEmail firstMatchInString:textField.text
                                                                                                                               options:0 
                                                                                                                                   range:NSMakeRange(0, [textField.text length])];
      
       if (isMatchQQ || isMatchEmail) {
               //doing thing
       }


代码放在这里,有需要直接拿去。自己也做备份,以后使用方便。Java代码
//校验用户名  
+ (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;  
}



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值