iOS adresse email de validation
J'ai un formulaire et de ce que je suis en train de faire est de valider les adresses e-mail avant de l'insertion dans ma base de données. J'ai lu plusieurs posts sur ce déjà et aucun d'eux n'a résolu mon problème.
C'est le code que j'ai jusqu'à présent.
-(BOOL) validEmail:(NSString*) emailString {
NSString *regExPattern = @"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";
NSRegularExpression *regEx = [[NSRegularExpression alloc] initWithPattern:regExPattern options:NSRegularExpressionCaseInsensitive error:nil];
NSUInteger regExMatches = [regEx numberOfMatchesInString:emailString options:0 range:NSMakeRange(0, [emailString length])];
if (regExMatches == 0) {
return NO;
} else
return YES;
}
L'expression régulière correspond à presque chaque adresse e-mail, mais lorsque les adresses sont dans le format abc,[email protected] il ne parvient pas à l'attraper, comme une adresse non valide. Il ne capte pas la virgule.
N'importe qui ont des idées où je vais mal? Grâce
je voudrais prendre un coup d'oeil à ce fil stackoverflow.com/questions/201323/...
votre regex est trop simpliste. essayez de regular-expressions.info/email.html - le premier sous "Le Standard Officiel: RFC 822" est plus robuste (et beaucoup plus laid)
Merci pour la réponse, j'ai essayé de fil déjà, la regex dans la discussion de tous ne parviennent pas à attraper les adresses dans ce format (abc,[email protected])
Hey Marc B, vous l'avez résolu. J'ai été en utilisant une expression régulière à partir de ce site aussi, j'ai été en utilisant l'un au-dessous de la laide. 😛 Merci les gars
votre regex est trop simpliste. essayez de regular-expressions.info/email.html - le premier sous "Le Standard Officiel: RFC 822" est plus robuste (et beaucoup plus laid)
Merci pour la réponse, j'ai essayé de fil déjà, la regex dans la discussion de tous ne parviennent pas à attraper les adresses dans ce format (abc,[email protected])
Hey Marc B, vous l'avez résolu. J'ai été en utilisant une expression régulière à partir de ce site aussi, j'ai été en utilisant l'un au-dessous de la laide. 😛 Merci les gars
OriginalL'auteur mhorgan | 2013-03-05
Vous devez vous connecter pour publier un commentaire.
Votre regex est trop simpliste. Celui-ci fonctionnera:
Je recommande d'exécuter sur le thread d'arrière-plan.
Source: À partir d'ici
Aucun moyen, il y a 19 d'entre eux.
OriginalL'auteur Tricertops
Par Marc B du commentaire, la solution était que ma regex est trop simpliste.
- Je utiliser ce:
au lieu de cela:
Cette nouvelle expression régulière correspond à abc,[email protected]
OriginalL'auteur mhorgan
Ici est une expression régulière pattern qui doit récupérer les e-mails qui s'échappe de votre travail.
OriginalL'auteur
swift
Objective c
Ce n'est pas la bonne réponse. Adresse Email [email protected] ne pas valider en tant que e-mail correcte
OriginalL'auteur Ananthu R Krishnan
Au lieu d'utiliser une regex, je recommande d'utiliser Mailgun gratuit de e-mail de validation de l'API. J'ai écrit un simple objective-C wrapper pour ce qui revient à valider avec une regex localement si il y a une erreur de connexion.
https://github.com/benzguo/BZGMailgunEmailValidation
OriginalL'auteur benzguo
L' .h fichier.
Et la .m fichier.
Comment utiliser:
OriginalL'auteur Jonas Knutsson Roos