Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Test valid email adresses
Message
From
08/05/2014 16:04:23
 
 
To
06/05/2014 17:03:00
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Network:
Windows NT
Database:
Visual FoxPro
Application:
Desktop
Miscellaneous
Thread ID:
01599639
Message ID:
01599753
Views:
53
Thanks you Michel.

>>How do I test to see if email adresses in a table are valid?
>>
>>what would you recommend as a good regular expression?
>
>Custom code which you can enhance in any way you like:
>
>
>    Public Function Validate() As Boolean
>        Dim lnLocation As Integer = 0
>
>        ' Initialization
>        cEmail = Trim(cEmail)
>
>        ' The email cannot be blank
>        If cEmail.Length = 0 Then
>            cMessage = cEmailCannotBeBlank
>            Return False
>        End If
>
>        ' No dot
>        If InStr(cEmail, ".") = 0 Then
>            cMessage = cYouNeedToHaveAtLeastOneDotInTheEmail
>            Return False
>        End If
>
>        ' No @
>        If InStr(cEmail, "@") = 0 Then
>            cMessage = cYouNeedToHaveAtLeastOneAtSignInTheEmail
>            Return False
>        End If
>
>        ' We need to have at least 5 characters
>        If cEmail.Length < 5 Then
>            cMessage = cYouNeedToHaveAtFiveCharacterInTheEmail
>            Return False
>        End If
>
>        ' We can't accept an email starting with @
>        If Mid(cEmail, 1, 1) = "@" Then
>            cMessage = cYouCannotHaveAnEmailStartingWithAnAtSign
>            Return False
>        End If
>
>        ' The last character cannot be a dot
>        If Mid(cEmail, cEmail.Length, 1) = "." Then
>            cMessage = cTheLastCharacterOfYourEmailCannotBeADot
>            Return False
>        End If
>
>        ' If we have more than one @
>        If oApp.Occurs(cEmail, "@") > 1 Then
>            cMessage = cYouCannotHaveMoreThanOneAtSignInTheEmail
>            Return False
>        End If
>
>        ' No space
>        If InStr(cEmail, " ") > 0 Then
>            cMessage = cYouCannotHaveASpaceInTheEmail
>            Return False
>        End If
>
>        ' No comma
>        If InStr(cEmail, ",") > 0 Then
>            cMessage = cYouCannotHaveACommaInTheEmail
>            Return False
>        End If
>
>        ' Bad character
>        If oApp.Inlist(UCase(cEmail), "SPAM", "NOSPAM") Then
>            cMessage = cTheEmailIsNotValid
>            Return False
>        End If
>
>        ' After the last dot, we can't have a digit
>        If Val(Mid(cEmail, oApp.At(".", cEmail, oApp.Occurs(".", cEmail)) + 1)) > 0 Then
>            cMessage = cAfterTheLastDot
>            Return False
>        End If
>
>        lnLocation = InStr(cEmail, "@")
>
>        ' We cannot have a dot immediately after the @
>        If Mid(cEmail, lnLocation + 1, 1) = "." Then
>            cMessage = cYouCannotHaveADotAfterAtSign
>            Return False
>        End If
>
>        lnLocation = InStr(cEmail, ";")
>
>        ' We cannot have a semi-colon
>        If lnLocation > 0 Then
>            cMessage = cYouCannotHaveASemiColonInTheEmail
>            Return False
>        End If
>
>        ' We cannot have a dot at the end
>        If Mid(cEmail, cEmail.Length, 1) = "." Then
>            cMessage = cYouCannotHaveADot
>            Return False
>        End If
>
>        ' We cannot have a dot before the @
>        If oApp.At(".@", cEmail) > 0 Then
>            cMessage = cYouCannotHaveADotBeforeAtSign
>            Return False
>        End If
>
>        Return True
>    End Function
>
*******************************************************
Save a tree, eat a beaver.
Denis Chassé
Previous
Reply
Map
View

Click here to load this message in the networking platform