Check
if the email address accepts only the following characters.
A) Alphabets : 'A to Z' or 'a to z'
b) Numeric : 0 to 9
c)Characters !#$%&'*+-/=?^_`{|}~
c.1. Character . (dot, period, full stop) provided that it is not the first or last character, and provided also that it does not appear two or more times consecutively (e.g. John..Doe@example.com).
c.2.Special characters are allowed with restrictions including:
Space and ""(),:;<>@[\]
A) Alphabets : 'A to Z' or 'a to z'
b) Numeric : 0 to 9
c)Characters !#$%&'*+-/=?^_`{|}~
c.1. Character . (dot, period, full stop) provided that it is not the first or last character, and provided also that it does not appear two or more times consecutively (e.g. John..Doe@example.com).
c.2.Special characters are allowed with restrictions including:
Space and ""(),:;<>@[\]
Code
Here:
@implementation
EmailvalidationViewController
@synthesize
txtEmail;
@synthesize
btnMail;
-
(void)dealloc
{
   
[super
dealloc];
}
-
(void)didReceiveMemoryWarning
{
    //
Releases the view if it doesn't have a superview.
   
[super
didReceiveMemoryWarning];
    //
Release any cached data, images, etc that aren't in use.
}
#pragma
mark - View lifecycle
-
(void)viewDidLoad
{
   
[super
viewDidLoad];
}
-
(BOOL)textField:(UITextField
*)textField shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString
*)string
{
   
if(textField
== txtEmail)
    {
      
 NSCharacterSet
*invalidCharSet = [[NSCharacterSet
characterSetWithCharactersInString:@".ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz@0123456789!#$%&'*+-/=?^_`{|}~"]
invertedSet];
      
 NSString
*filtered = [[string
componentsSeparatedByCharactersInSet:invalidCharSet]
componentsJoinedByString:@""];
      
 return
[string isEqualToString:filtered];
    }
   
static
NSCharacterSet
*charSet = nil;
   
if(!charSet)
{
      
 charSet
= [[[NSCharacterSet
characterSetWithCharactersInString:@"!#$%&'*+-/=?^_`{|}~"]
invertedSet]
retain];
    }
  
NSRange
location = [string rangeOfCharacterFromSet:charSet];
   
return
(location.location
== NSNotFound);
      
   return
YES;
    }
-
(BOOL)textFieldShouldReturn:(UITextField
*)textField 
{
   
[txtEmail
resignFirstResponder];
   
return
YES;
}
-
(void)textFieldDidBeginEditing:(UITextField
*)textField
{
   
NSLog(@"textFieldDidBeginEditing");
}
-(IBAction)btnMail_Clicked:(id)sender
{
    
NSLog(@"btnclicked");
   
BOOL
boolValue = [self
ValidateEmail:txtEmail.text];
}
-(BOOL)ValidateEmail:(NSString
*)mailstring
{
   
NSString
 *mailstr = txtEmail.text;
   
NSRange
openingRange = [mailstr rangeOfString:@".."];
    if
(openingRange.location!=NSNotFound)
    {
      
 UIAlertView
*alert=[[UIAlertView
alloc]initWithTitle:@"Mail
Check"
message:@"Pleasesfs
Enter Correct Email"
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles:@"Cancel",
nil];
      
 [alert
show];
      
 return
NO;
    }
    if
([mailstr hasSuffix:@"."])
    {
      
 UIAlertView
*alert=[[UIAlertView
alloc]initWithTitle:@"Mail
Check"
message:@"Please
Enter Correct Email"
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles:@"Cancel",
nil];
      
 [alert
show];
      
 return
NO;
    }
    if
([mailstr hasPrefix:@"."])
    {
      
 UIAlertView
*alert=[[UIAlertView
alloc]initWithTitle:@"Mail
Check"
message:@"Please
Enter Correct Email"
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles:@"Cancel",
nil];
      
 [alert
show];
      
 return
NO;
    }
   
NSString
*inputString = mailstr;
   
NSScanner
*mainScanner = [NSScanner
scannerWithString:inputString];
   
NSInteger
numberOfChar=0;
   
while(![mainScanner
isAtEnd])
    {
      
 [mainScanner
scanUpToString:@"@"
intoString:nil];
      
 if(![mainScanner
isAtEnd])
      
 {
      
     numberOfChar++;
      
     [mainScanner
scanString:@"@"
intoString:nil
];
      
 }
    }
   
NSString
*inputString1 = mailstr;
   
NSScanner
*mainScanner1 = [NSScanner
scannerWithString:inputString1];
   
NSInteger
numberOfChar1=0;
   
while(![mainScanner1
isAtEnd])
    {
      
 [mainScanner1
scanUpToString:@"."
intoString:nil];
      
 if(![mainScanner1
isAtEnd])
      
 {
      
     numberOfChar1++;
      
     [mainScanner1
scanString:@"."
intoString:nil
];
      
 }
    }
    if
((numberOfChar==1)&&(numberOfChar1
> 0))
   
    {
      
 NSLog(@"govings");
    }
   
else
    {
      
 UIAlertView
*alertView = [[UIAlertView
alloc]
initWithTitle:@""message:@"Please
and check the email address."delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
      
 [alertView
show];
      
 return
NO;
    }
   
return
YES;
}
@end
No comments:
Post a Comment