2010-05-25 5 views
4

Duplicate possible:
What is the best regular expression for validating email addresses?Expression régulière pour le courrier électronique

J'ai essayé l'expression reg

^([a-zA-Z0-9_.-])[email protected]([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+ 

pour la validation email.

Puisque je veux que l'utilisateur permette de soumettre même avec l'adresse email vide. donc j'ai changé le reg ex à

(^([a-zA-Z0-9_.-])[email protected]([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+)? 

Mais cette expression accepte une adresse e-mail sans aucune validation.

+1

Votre expression acceptera n'importe quoi car elle peut correspondre à la chaîne vide (le? Signifiant zéro ou une fois) et chaque chaîne "contient" la chaîne correspondante. Vous voulez comparer la chaîne entière, alors mettez^au début et $ à la fin - de cette façon, rien, MAIS votre expression régulière peut se produire dans la chaîne. Donc, soit il est vide, soit le motif complet. – Konerak

Répondre

3

Merci Konerak !!!! J'ai changé l'expression à

^(([a-zA-Z0-9_.-])[email protected]([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+)?$ 

et cela fonctionne pour moi.

+3

Et qu'en est-il du caractère +? –

1
+0

Je pense que c'est irréaliste parce que RFC822 comprend beaucoup d'anciens types d'adresses qui sont rarement nécessaires ou pris en charge par le logiciel actuel. – kervin

+0

ouais, ce n'est pas pratique. bien mieux est-ce, et la discussion autour d'elle: http://www.regular-expressions.info/email.html –

1

Un bon nombre d'informations sur ce faire est disponible au this page. Comme cette page vous le dira, il est extrêmement difficile de passer une ou plusieurs adresses compatibles RFC822 avec une expression régulière. Vous devez vous demander à quel point cela est important pour votre application.

Personnellement, je recommanderais, le cas échéant, simplement en demandant aux utilisateurs d'entrer l'adresse email deux fois, puis de confirmer avec un email de confirmation. De cette façon, vous ne courez pas le risque de rejeter par erreur une adresse email valide (une situation extrêmement ennuyante pour les utilisateurs qui risquent de perdre votre site).

Questions connexes