2009-07-08 3 views
2

Je valider une zone de texte pour le courrier électronique valide avec ceci:RegularExpressionValidator pour plusieurs e-mails

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" 
ControlToValidate="txtMailCustom" 
Text="Invalid address" 
ValidationExpression="^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9] 
{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$" runat="server" /> 

Maintenant, je veux que les utilisateurs soient en mesure de mettre plusieurs adresses e-mail, séparés par une virgule et de l'espace.

Comment puis-je intégrer ce comportement?

Répondre

3

essayer cette expression:

^(\s*,?\s*[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})+\s*$ 
0

Je devrais faire ceci: ce qu'il fait est de vérifier pour au moins un courrier, et pour la liste d'email avant elle avec chaque virgule et peut-être un espace.

^(([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?), ?)*^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$ 

utiliser si l'espace entre chaque mail est nécessaire:

^(([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?),)*^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$ 

Remarque Je viens d'utiliser votre seul courrier vérificateur comme base et ne modifie pas vraiment.

5

Essayez l'expression ci-dessous, qui travaille pour moi:

((\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)*([,])*)* 

Le code ci-dessus est pour ,, séparer les adresses e-mail.

Si vous souhaitez utiliser ; au lieu de ,, que de le remplacer par ,; à la fin de l'expression ci-dessus.

Questions connexes