判断邮箱是否合法的代码



//判断邮箱是否合法的代码  
-( BOOL )validateEmail:(NSString*)email  
{  
     if (( 0  != [email rangeOfString: @"@" ] .length ) &&  
          ( 0  != [email rangeOfString: @"." ] .length ))  
     {  
             
            NSCharacterSet* tmpInvalidCharSet = [[NSCharacterSet alphanumericCharacterSet] invertedSet];  
         NSMutableCharacterSet* tmpInvalidMutableCharSet = [[tmpInvalidCharSet mutableCopy] autorelease];  
         [tmpInvalidMutableCharSet removeCharactersInString: @"_-" ];  
          
            //使用compare option 来设定比较规则,如  
            //NSCaseInsensitiveSearch是不区分大小写  
            //NSLiteralSearch 进行完全比较,区分大小写  
            //NSNumericSearch 只比较定符串的个数,而不比较字符串的字面值  
         NSRange range 1  = [email rangeOfString: @"@"  
                                               options:NSCaseInsensitiveSearch];  
          
         //取得用户名部分  
         NSString* userNameString = [email substringToIndex:range 1 .location ];  
         NSArray* userNameArray   = [userNameString componentsSeparatedByString: @"." ];  
             
         for (NSString* string  in  userNameArray)  
            {  
             NSRange rangeOfInavlidChars = [string rangeOfCharacterFromSet: tmpInvalidMutableCharSet];  
             if (rangeOfInavlidChars .length  !=  0  || [string isEqualToString: @"" ])  
                 return  NO ;  
         }  
          
         NSString *domainString = [email substringFromIndex:range 1 .location + 1 ];  
         NSArray *domainArray   = [domainString componentsSeparatedByString: @"." ];  
          
         for (NSString *string  in  domainArray)  
            {  
             NSRange rangeOfInavlidChars=[string rangeOfCharacterFromSet:tmpInvalidMutableCharSet];  
             if (rangeOfInavlidChars .length  != 0  || [string isEqualToString: @"" ])  
                 return  NO ;  
         }  
        
         return  YES ;  
     }  
     else  // no ''@'' or ''.'' present  
         return  NO ;  
}  
    
    
BOOL  NSStringIsValidEmail(NSString *checkString)    
{    
     NString *stricterFilterString =  @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}" ;   
     NSString *laxString =  @".+@.+\.[A-Za-z]{2}[A-Za-z]*" ;    
     NSString *emailRegex = stricterFilter ? stricterFilterString : laxString;    
     NSPredicate *emailTest = [NSPredicate predicateWithFormat: @"SELF MATCHES %@" , emailRegex];    
     return  [emailTest evaluateWithObject:checkString];    
}  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值