2012-09-04 27 views
8

Duplicar posibles:
Ensure User has entered email address string in correct format?validar la dirección de correo electrónico en UITextField en iPhone

tengo UITextField en el que tomo la dirección de correo de usuario que entran, y quiero validar esa dirección de correo electrónico, como yo lo haría, debería verificar que contenga símbolos como el signo @ y otros caracteres de correo electrónico.

Si hay un error en la dirección de correo electrónico, debe mostrar un UIAlertView que diga "ingrese una dirección de correo electrónico válida".

Respuesta

22

Objetivo C Estilo

NSString *emailRegEx = @"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,10}"; 
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx]; 

if ([emailTest evaluateWithObject:email.text] == NO) { 

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Test!" message:@"Please Enter Valid Email Address." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [alert show]; 
    [alert release]; 

    return; 
} 

Swift Estilo

class func isValidEmail(emailString:String) -> Bool { 

    let emailRegEx = "[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,10}" 
    var emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx) 

    let result = emailTest?.evaluateWithObject(emailString) 
    return result! 
} 
3

Usted puede hacer esto utilizando NSPredicate

//suppose emailID is your entered email address NSString 
NSString *emailFormat1 = @"[A-Z0-9a-z._][email protected][A-Za-z0-9]+\\.[A-Za-z]{2,4}";  


NSPredicate *emailTest1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailFormat1]; 


if ([emailTest1 evaluateWithObject:emailID]||[emailTest2 evaluateWithObject:emailID]) { 
    //yes it is valid 
} 
else 
    //no it is invalid 
Cuestiones relacionadas