vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: HTML/Internet/Netzwerk · HTML/Email   |   VB-Versionen: VB.NET04.08.05
Syntax einer EMail-Adresse prüfen (.NET)

Mit Hilfe von regulären Ausdrücken lässt sich die Syntax einer EMail-Adresse unter VB.NET sehr leicht auf Plausibilität prüfen.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  21.720 
www.tools4vb.deSystem:  WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Mit Hilfe von regulären Ausdrücken können Strings sehr schnell und mit wenig Code-Aufwand mit einem vorgegeben Muster verglichen werden. Heute möchten wir Ihnen ein "Muster" vorstellen, mit dem sich die Syntax einer EMail-Adresse prüfen lässt und somit bereits im Vorfeld abgefragt werden kann, ob die vom Anwender eingegebene EMail-Adresse überhaupt existieren könnte.

Erstellen Sie ein neues Windows-Form-Projekt und platzieren auf die Form eine TextBox mit dem Namen "txtEMail", sowie eine Schaltfläche namens "Button1". Beim Klick auf den Button wird die EMail-Adresseingabe dann mit Hilfe der Regex-Klasse und dem vorgegebenen Vergleichmuster geprüft.

Private Sub Button1_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles Button1.Click
 
  ' RegEx-Klassenobjekt erstellen
  Dim oRegEx As System.Text.RegularExpressions.Regex
 
  ' Vergleichsmuster
  Dim sPattern As String = "^([\w-]+\.)*?[\w-]+@[\w-]+\.([\w-]+\.)*?[\w]+$"
 
  With oRegEx
    ' Syntax der EMail-Adresse prüfen
    If Not .IsMatch(txtEMail.Text, sPattern) Then
      ' Syntax entspricht nicht dem Muster!
      MsgBox("Die Syntax der EMail-Adresse ist nicht korrekt!")
    End If
  End With
End Sub

Kurze Erläuterung zu dem verwendeten Muster:
Das erste \w steht für ein beliebiges Wortzeichen (inkl. Unterstrich). Durch das anschließende +-Zeichen wird festgelegt, dass auch mehrere aufeinanderfolgende Wortzeichen zulässig sind. \. bedeutet, dass auf die Wortzeichen ein Punkt folgen muss. Durch Angabe von *? wird festgelegt, dass es sich bei der bisherigen Musterfestlegung um eine optionale Gruppe handelt, sich diese Gruppe jedoch auch wiederholen darf. Das zweite \w bedeutet, dass hier wieder ein Wortzeichen folgen muss. Durch Angabe des nachfolgenden +-Zeichens wird festgelegt, dass sich das Wortzeichen beliebig wiederholen darf, aber mindestens eines vorhanden sein muss, ehe dann durch Angabe von @ das @-Zeichen folgen muss. Der zweite Teil des Musters nach dem @-Zeichen entspricht weitestgehend dem des ersten Teils.