Ensure User has entered email address string in correct format?

后端 未结 3 1376
被撕碎了的回忆
被撕碎了的回忆 2021-01-07 00:10

i have a text field in Contact screen and the user need to enter email address to send me message. Whats the best way to ensure the user has entered a valid email address su

相关标签:
3条回答
  • 2021-01-07 00:15

    Try the following:

    - (BOOL) validateEmail: (NSString *) candidate {
        NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
        NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
    //  return 0;
        return [emailTest evaluateWithObject:candidate];
    }
    
    
    -(IBAction)btnTapped:(id)sender{
    
        if([self validateEmail:[txtEmail text]] ==1)
        {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Message" message:@"You Enter Correct Email id." delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
            [alert show];
            [alert release];
    
        }
        else{
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Message" message:@"You Enter Incoorect Email id." delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
            [alert show];
            [alert release];
        }
    }
    
    0 讨论(0)
  • 2021-01-07 00:21

    Use this textField delegate function as this will be called on every text entered:

     - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
     {
          NSString *strEnteredText = textField.text;
         if(strEnteredText.length>0) 
         {
           if([self validateEmail:strEnteredText])
           {
              //Valid email 
              //Use UILabel to give message
             // BOOL email = true to know email is valid when submit button tapped
           }
           else
           {
              //Not Valid email
              //Use UILabel to give message
              // BOOl emaiL = false to know email is valid when submit button tapped
            }
         }
     }
    

    Add this method .h file

     - (BOOL) validateEmail: (NSString *) enteredText 
     {
       NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; 
       NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; 
       return [emailTest evaluateWithObject:enteredText];
     }
    
    0 讨论(0)
  • 2021-01-07 00:23

    Swift

    extension String {
        func isValidEmail() -> Bool {
            let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,10}"
            let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
            let result = emailTest.evaluateWithObject(self)
            return result
        }
    }
    
    "jim@off.com".isValidEmail() //true
    "jim.com".isValidEmail() // false
    
    0 讨论(0)
提交回复
热议问题