Plausibilitätsprüfung von E-Mailadressen
Die EMail Adressen sollen auf folgende Kriterien
überprüft werden
- Ein einmaliges Vorhandensein von @
- Das Vorhandensein einer Domain am Ende
- Verbote Zeichen dürfen nicht vorkommen
Die Funktionalität von RegExp steckt in der ActiveX Komponente VBSCRIPT.DLL, die auf nahezu jedem Rechner vorhanden sein dürfte. Möglicherweise muss diese erst mit regsvr32.exe registriert werden.
Sub test()
MsgBox MailadresseIO("Schwimmer@t-online.xy")
End Sub
Public Function MailadresseIO(Adresse As String) As Boolean
Dim oVScriptRegEx As Object
Set oVScriptRegEx = CreateObject("VBScript.RegExp")
With oVScriptRegEx
.Pattern = "^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.(de|com)+$"
' .Pattern = "^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$"
MailadresseIO = .test(Adresse)
End With
End Function
'^ Beginn der Zeichenkette
'\w Von a bis z, A bis Z, 0 bis 9 und Unterstrich
'+ Vorheriges Zeichen muss einmal oder mehrmals da sein
'- Bindestrich darf vorkommen
'\w Von a bis z, A bis Z, 0 bis 9 und Unterstrich
'+ Vorheriges Zeichen muss einmal oder mehrmals da sein
'| Oder
'\. Punkt darf vorkommen
'\w Von a bis z, A bis Z, 0 bis 9 und Unterstrich
'+ Vorheriges Zeichen muss einmal oder mehrmals da sein
'* (-\w oder .\w) darf gar nicht bis beliebig oft vorkommen.
'@ Muss dort vorkommen
'\w Von a bis z, A bis Z, 0 bis 9 und Unterstrich
'+ Vorheriges Zeichen muss einmal oder mehrmals da sein
'(\.|-) Punkt oder Bindestrich darf voekommen
'\w Von a bis z, A bis Z, 0 bis 9 und Unterstrich
'+ Vorheriges Zeichen muss einmal oder mehrmals da sein
'* (.\w oder -\w) darf gar nicht bis beliebig oft vorkommen.
'\. Punkt muss vorkommen
'\w Von a bis z, A bis Z, 0 bis 9 und Unterstrich
'+ Vorheriges Zeichen muss einmal oder mehrmals da sein
'? Und zwar vor dem Ende der Zeichenkette
'Alternativ
'\. Punkt muss vorkommen
'(de|com) de oder com
'+ Vorheriges Zeichen muss einmal oder mehrmals da sein
'? Und zwar vor dem Ende der Zeichenkette