2009-07-08 4 views
2

Ich bin ein Textfeld für gültige E-Mail mit dieser Validierung:RegularExpressionValidator für mehr 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" /> 

Jetzt mag ich Benutzer in der Lage sein, mehrere E-Mail-Adressen zu setzen, durch ein Komma und Leerzeichen getrennt.

Wie kann ich dieses Verhalten integrieren?

Antwort

3

versuchen, diesen Ausdruck:

^(\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

Ich sollte dies tun: was es tut, ist für mindestens eine E-Mail zu überprüfen, und für die Liste der E-Mail vor jedem mit einem Komma und möglicherweise ein Leerzeichen.

^(([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})(\]?)$ 

verwenden, wenn der Abstand zwischen den einzelnen Mail erforderlich:

^(([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})(\]?)$ 

Hinweis habe ich nur Ihre einzige Mail-Checker als Basis und es wirklich nicht bearbeiten.

5

den Ausdruck unten Versuchen Sie, was für mich funktioniert:

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

Der obige Code für , ist, E-Mail-Adressen zu trennen.

Wenn Sie möchten, ; statt , verwenden, als , am Ende des obigen Ausdrucks mit ; zu ersetzen.

Verwandte Themen