VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



'E-Mail validation

by Sreeram.P (16 Submissions)
Category: Custom Controls/Forms/Menus
Compatability: Visual Basic 5.0
Difficulty: Unknown Difficulty
Originally Published: Tue 9th May 2006
Date Added: Mon 8th February 2021
Rating: (1 Votes)

'E-Mail validation

Rate 'E-Mail validation



    call ValidateEmail(Text1.text)
End Sub

Public Function ValidateEmail(ByVal strEmail As String) As Boolean
Dim strTmp As String, n As Long, sEXT As String
    EMsg = "" 'reset on open for good form
    ValidateEmail = True 'Assume true on init
    
    sEXT = strEmail
    Do While InStr(1, sEXT, ".") <> 0
       sEXT = Right(sEXT, Len(sEXT) - InStr(1, sEXT, "."))
    Loop
    
    If strEmail = "" Then
       ValidateEmail = False
       EMsg = EMsg & "Not a valid email address!"
       
    ElseIf InStr(1, strEmail, "@") = 0 Then
       ValidateEmail = False
       EMsg = EMsg & "Email address does not contain an @ sign."
       
    ElseIf InStr(1, strEmail, "@") = 1 Then
       ValidateEmail = False
       EMsg = EMsg & "@ sign can not be the first character in email address!"
       
    ElseIf InStr(1, strEmail, "@") = Len(strEmail) Then
       ValidateEmail = False
       EMsg = EMsg & "@sign can not be the last character in email address!"
       
    ElseIf EXTisOK(sEXT) = False Then
       ValidateEmail = False
       EMsg = EMsg & "Email address is not carrying a valid ending!"
       
    ElseIf Len(strEmail) < 6 Then
       ValidateEmail = False
       EMsg = EMsg & "Email address is shorter than 6 characters which is impossible."
    End If
    n = 0
    strTmp = strEmail
    
    Do While InStr(1, strTmp, "@") <> 0
       n = n + 1
       strTmp = Right(strTmp, Len(strTmp) - InStr(1, strTmp, "@"))
    Loop
    
    If n > 1 Then
       ValidateEmail = False 'found more than one @ sign
       EMsg = EMsg & "More than 1 @ sign in your email address"
    End If

End Function

Public Function EXTisOK(sEXT As String) As Boolean
Dim EXT As String, X As Long
    EXTisOK = False
    If Left(sEXT, 1) <> "." Then sEXT = "." & sEXT
    sEXT = UCase(sEXT) 'just to avoid errors
    EXT = EXT & ".COM.EDU.GOV.NET.BIZ.ORG.TV"
    EXT = EXT & ".AF.AL.DZ.As.AD.AO.AI.AQ.AG.AP.AR.AM.AW.AU.AT.AZ.BS.BH.BD.BB.BY"
    EXT = EXT & ".BE.BZ.BJ.BM.BT.BO.BA.BW.BV.BR.IO.BN.BG.BF.MM.BI.KH.CM.CA.CV.KY"
    EXT = EXT & ".CF.TD.CL.CN.CX.CC.CO.KM.CG.CD.CK.CR.CI.HR.CU.CY.CZ.DK.DJ.DM.DO"
    EXT = EXT & ".TP.EC.EG.SV.GQ.ER.EE.ET.FK.FO.FJ.FI.CS.SU.FR.FX.GF.PF.TF.GA.GM.GE.DE"
    EXT = EXT & ".GH.GI.GB.GR.GL.GD.GP.GU.GT.GN.GW.GY.HT.HM.HN.HK.HU.IS.IN.ID.IR.IQ"
    EXT = EXT & ".IE.IL.IT.JM.JP.JO.KZ.KE.KI.KW.KG.LA.LV.LB.LS.LR.LY.LI.LT.LU.MO.MK.MG"
    EXT = EXT & ".MW.MY.MV.ML.MT.MH.MQ.MR.MU.YT.MX.FM.MD.MC.MN.MS.MA.MZ.NA"
    EXT = EXT & ".NR.NP.NL.AN.NT.NC.NZ.NI.NE.NG.NU.NF.KP.MP.NO.OM.PK.PW.PA.PG.PY"
    EXT = EXT & ".PE.PH.PN.PL.PT.PR.QA.RE.RO.RU.RW.GS.SH.KN.LC.PM.ST.VC.SM.SA.SN.SC"
    EXT = EXT & ".SL.SG.SK.SI.SB.SO.ZA.KR.ES.LK.SD.SR.SJ.SZ.SE.CH.SY.TJ.TW.TZ.TH.TG.TK"
    EXT = EXT & ".TO.TT.TN.TR.TM.TC.TV.UG.UA.AE.UK.US.UY.UM.UZ.VU.VA.VE.VN.VG.VI"
    EXT = EXT & ".WF.WS.EH.YE.YU.ZR.ZM.ZW"
    EXT = UCase(EXT) 'just to avoid errors
    If InStr(1, EXT, sEXT) <> 0 Then EXTisOK = True
End Function

Download this snippet    Add to My Saved Code

'E-Mail validation Comments

No comments have been posted about 'E-Mail validation. Why not be the first to post a comment about 'E-Mail validation.

Post your comment

Subject:
Message:
0/1000 characters