USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Função p/a validar e-mail
IVB
não registrado
ENUNCIADA !
Postada em 15/07/2009 15:07 hs   
Olá...Por favor, alguém saberia como faço, p/a validar um email no vb 6???
 
Desde já Agradeço...
   
J.Carlos
Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
ENUNCIADA !
Postada em 15/07/2009 16:32 hs            
 
Public Function ValidEMail(sEMail As String) As Boolean
Dim nCharacter As Integer
Dim Count As Integer
Dim sLetra As String
    'Verifica se o e-mail tem no MÍNIMO 5 caracteres (a@b.c)
    If Len(sEMail) < 5 Then
        'O e-mail é inválido, pois tem menos
        'de 5 caracteres
        ValidEMail = False
        Call MsgBox("O e-mail digitado tem menos de 5 caracteres!!!", vbCritical, "ATENÇÃO")
        Exit Function
    End If
    'Verificar a existencia de arrobas (@) no e-mail
    For nCharacter = 1 To Len(sEMail)
        If Mid(sEMail, nCharacter, 1) = "@" Then
            'OPA!!! Achou uma arroba!!!
            'Soma 1 ao contador
            Count = Count + 1
        End If
    Next
    'Verifica o número de arrobas.
    'TEM que ter """UMA""" arroba
    If Count <> 1 Then
        'O e-mail é inválido, pois tem 0 ou
        'mais de 1 arroba
        ValidEMail = False
        Call MsgBox("O nº de arrobas (@) do e-mail é inválido!!!", vbCritical, "ATENÇÃO")
        Exit Function
    Else
        'O e-mail tem 1 arroba.
        'Verificar a posição da arroba
        If InStr(sEMail, "@") = 1 Then
            'O e-mail é inválido, pois começa
            'com uma @
            ValidEMail = False
            Call MsgBox("O e-mail foi iniciado com uma arroba (@)!!!", vbCritical, "ATENÇÃO")
            Exit Function
        ElseIf InStr(sEMail, "@") = Len(sEMail) Then
            'O e-mail é inválido, pois termina
            'com uma @
            ValidEMail = False
            Call MsgBox("O e-mail termina com uma arroba (@)!!!", vbCritical, "ATENÇÃO")
            Exit Function
        End If
    End If
    nCharacter = 0
    Count = 0
    'Verificar a existencia de pontos (.) no e-mail
    For nCharacter = 1 To Len(sEMail)
        If Mid(sEMail, nCharacter, 1) = "." Then
            'OPA!!! Achou um ponto!!!
            'Soma 1 ao contador
            Count = Count + 1
        End If
    Next
    'Verifica o número de pontos.
    'TEM que ter PELO MENOS UM ponto.
    If Count < 1 Then
        'O e-mail é inválido, pois não tem pontos.
        ValidEMail = False
        Call MsgBox("O e-mail é inválido, pois não contém pontos (.)!!!", vbCritical, "ATENÇÃO")
        Exit Function
    Else
        'O e-mail tem pelo menos 1 ponto.
        'Verificar a posição do ponto:
        If InStr(sEMail, ".") = 1 Then
            'O e-mail é inválido, pois começa
            'com um ponto
            ValidEMail = False
            Call MsgBox("O e-mail foi iniciado com um ponto (.)!!!", vbCritical, "ATENÇÃO")
            Exit Function
        ElseIf InStr(sEMail, ".") = Len(sEMail) Then
            'O e-mail é inválido, pois termina
            'com um ponto.
            ValidEMail = False
            Call MsgBox("O e-mail termina com um ponto (.)!!!", vbCritical, "ATENÇÃO")
            Exit Function
        ElseIf InStr(InStr(sEMail, "@"), sEMail, ".") = 0 Then
            'O e-mail é inválido, pois termina
            'com um ponto.
            ValidEMail = False
            Call MsgBox("O e-mail não tem nenhum ponto (.) após a arroba (@)!!!", vbCritical, "ATENÇÃO")
            Exit Function
        End If
    End If
    nCharacter = 0
    Count = 0
    'Verifica se o e-mail não tem pontos
    'consecutivos (..) após a arroba (@).
    If InStr(sEMail, "..") > InStr(sEMail, "@") Then
        'O e-mail é inválido, tem pontos
        'consecutivos após o @.
        ValidEMail = False
        Call MsgBox("O e-mail contém pontos consecutivos (..) após o arroba (@)!!!", vbCritical, "ATENÇÃO")
        Exit Function
    End If
    'Verifica se o e-mail tem caracteres
    'inválidos
    For nCharacter = 1 To Len(sEMail)
        sLetra = Mid$(sEMail, nCharacter, 1)
        If Not (LCase(sLetra) Like "[a-z]" Or sLetra = "@" Or sLetra = "." Or sLetra = "-" Or sLetra = "_" Or IsNumeric(sLetra)) Then
            'O e-mail é inválido, pois tem
            'caracteres inválidos
            ValidEMail = False
            Call MsgBox("Foi digitado um caracter inválido no e-mail!!!", vbCritical, "ATENÇÃO")
            Exit Function
        End If
    Next
    nCharacter = 0
    'Bem, se a verificação chegou até aqui
    'é porque o e-mail é válido, então...
    ValidEMail = True
End Function
 
Pra chamar a funcao:
   if not (ValidEmail(txtemail.text)) then
      msgbox "Email inválido"
   endif
 
   
Geraldo
não registrado
ENUNCIADA !
Postada em 31/07/2014 16:47 hs   
Excelente! Funcionou 100% Valeu!
   
Rene
não registrado
Postada em 26/06/2015 10:46 hs   
Bom dia!

Qual o tamanho máximo de um endereço de e-mail. Já vi em alguns lugares que são 26 caracteres. Alguém saberia confirmar?

Obrigado.
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página