iPhone开发应用关于邮箱合法行为代码实现案例

移动开发 iOS
本文介绍的是iPhone开发应用关于邮箱合法行为代码实现案例,如果你的 App 需要用户以邮箱注册,怎么判断用户输入了正确的邮箱地址呢?比如:用户输入了一长串字符,却没有 "@",或者字符串里有邮件地址里不允许包含的字符。

iPhone开发应用关于邮箱合法行为代码实现案例是本文要介绍的内容,主要是来学习邮箱合法行为的判断,文中用两种方法来解决邮箱合法行为的问题,具体内容来看本文详细讲解。

1、判断邮箱合法行为的代码 

如果你的 App 需要用户以邮箱注册,怎么判断用户输入了正确的邮箱地址呢?比如:用户输入了一长串字符,却没有 "@",或者字符串里有邮件地址里不允许包含的字符。favormm 的博客分享了判断邮箱是否合法的代码,希望对开发者有所帮助。

  1. BOOL NSStringIsValidEmail(NSString *checkString)    
  2. {    
  3.     NString *stricterFilterString = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";    
  4.     NSString *laxString = @".+@.+\.[A-Za-z]{2}[A-Za-z]*";    
  5.     NSString *emailRegex = stricterFilter ? stricterFilterString : laxString;    
  6.     NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];    
  7.     return [emailTest evaluateWithObject:checkString];    
  8. }  

2、另一组判断邮箱合法行为的代码

上面介绍的是判断邮箱合法行为的代码,下面介绍另一种方法,通过字符串操作来检查邮箱合法性。代码如下 :

 

  1. -(BOOL)validateEmail:(NSString*)email{  
  2.      
  3.     if( (0 != [email rangeOfString:@"@"].length) &&  (0 != [email rangeOfString:@"."].length) )  
  4.     {  
  5.         NSMutableCharacterSet *invalidCharSet = [[[[NSCharacterSet alphanumericCharacterSet] invertedSet]mutableCopy]autorelease];  
  6.         [invalidCharSet removeCharactersInString:@"_-"];  
  7.          
  8.         NSRange range1 = [email rangeOfString:@"@" options:NSCaseInsensitiveSearch];  
  9.          
  10.         // If username part contains any character other than "."  "_" "-"  
  11.          
  12.         NSString *usernamePart = [email substringToIndex:range1.location];  
  13.         NSArray *stringsArray1 = [usernamePart componentsSeparatedByString:@"."];  
  14.         for (NSString *string in stringsArray1) {  
  15.             NSRange rangeOfInavlidChars=[string rangeOfCharacterFromSet: invalidCharSet];  
  16.             if(rangeOfInavlidChars.length !=0 || [string isEqualToString:@""])  
  17.                 return NO;  
  18.         }  
  19.          
  20.         NSString *domainPart = [email substringFromIndex:range1.location+1];  
  21.         NSArray *stringsArray2 = [domainPart componentsSeparatedByString:@"."];  
  22.          
  23.         for (NSString *string in stringsArray2) {  
  24.             NSRange rangeOfInavlidChars=[string rangeOfCharacterFromSet:invalidCharSet];  
  25.             if(rangeOfInavlidChars.length !=0 || [string isEqualToString:@""])  
  26.                 return NO;  
  27.         }  
  28.          
  29.         return YES;  
  30.     }  
  31.     else // no ''@'' or ''.'' present  
  32.         return NO;  

小结:iPhone开发应用关于邮箱合法行为代码实现案例的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-08-18 15:24:40

iPhone国际化

2011-08-09 14:54:29

iPhoneNSDateanotherDate

2011-08-15 15:44:46

iPhone开发PDF

2011-08-18 16:24:44

iPhone开发图片

2011-08-19 10:13:05

iPhone开发

2011-08-16 15:48:37

iPhone开发抓图程序

2011-08-19 11:10:31

iPhone应用

2011-07-25 14:44:41

iPhone iPhone开发 截屏

2011-08-18 16:42:07

iPhone应用APNS推送

2011-08-18 10:39:46

iPhone开发界面

2011-08-17 16:12:20

iPhone应用程序

2011-08-15 11:23:41

iPhone开发循环滚动UIScrollVie

2011-08-18 15:40:20

iPhone文本切页

2011-08-09 17:12:30

iPhoneCFRunLoop

2011-08-15 18:02:32

iPhone开发表视图

2011-08-15 13:44:07

iPhone开发UITableView

2011-08-22 14:21:24

iPhone开发UIView Anim

2011-08-11 17:32:51

iPhone视图

2011-08-08 14:07:49

iPhone开发 字体

2011-08-16 15:36:47

iPhone应用测试
点赞
收藏

51CTO技术栈公众号