none
Validar Emails en Vb.net? RRS feed

  • Pregunta

  • Hola

    Tengo un codigo para validar el Email cuando es ingresado por los usuarios pero ahora necesito validar varios Email ingresados en una caja de texto ya que esos va correos va a salir cierta info, el problema es que el codigo que tengo solo me valida un solo correo y como sabemos cada correo debe ir separado por comas.


        Public Function IsValidEmail(ByVal email As String) As Boolean
            If email = String.Empty Then Return False
            ' Compruebo si el formato de la dirección es correcto.
            Dim re As Regex = New Regex("^[\w._%-]+@[\w.-]+\.[a-zA-Z]{2,4}$")
            Dim m As Match = re.Match(email)
            Return (m.Captures.Count <> 0)
        End Function

     

    Private Sub BtnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEnviar.Click
            Dim bln As Boolean = IsValidEmail(txtPara.Text)
                If bln = False Then
                    MessageBox.Show("Verifique Email Formato Incorrecto")
                    txtPara.Focus()
                    Exit Sub
                End If

    End If

     

    De antemano Gracias por su Colaboracion


    Jruiz
    jueves, 8 de septiembre de 2011 19:01

Respuestas

  • y si haces

    Private Sub BtnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEnviar.Click
        
        Dim todosmailvalidos As Boolean = true
    
        For Each mail As String In txtPara.Text.Split(New Char() {';'c})
    
           If IsValidEmail(mail) Then
               todosmailvalidos = False
               Exit For
           End If
    
        Next
    
        If Not todosmailvalidos Then
             MessageBox.Show("Verifique Email Formato Incorrecto")
             txtPara.Focus()
             Exit Sub
        End If
    
    End If
    

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta bimboclaim jueves, 8 de septiembre de 2011 20:05
    jueves, 8 de septiembre de 2011 19:12

Todas las respuestas

  • y si haces

    Private Sub BtnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEnviar.Click
        
        Dim todosmailvalidos As Boolean = true
    
        For Each mail As String In txtPara.Text.Split(New Char() {';'c})
    
           If IsValidEmail(mail) Then
               todosmailvalidos = False
               Exit For
           End If
    
        Next
    
        If Not todosmailvalidos Then
             MessageBox.Show("Verifique Email Formato Incorrecto")
             txtPara.Focus()
             Exit Sub
        End If
    
    End If
    

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta bimboclaim jueves, 8 de septiembre de 2011 20:05
    jueves, 8 de septiembre de 2011 19:12
  • (Un perentesis)

    creo que tu expresion regular es un poco basica cheka esta

    ^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]{2,4}$

    Falta que no acepte mas de dos puntos seguidos, si alguien la puede mejorar agradecido estaré

    viernes, 6 de julio de 2012 10:00
  • (Un perentesis)

    creo que tu expresion regular es un poco basica cheka esta

    ^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]{2,4}$

    Falta que no acepte mas de dos puntos seguidos, si alguien la puede mejorar agradecido estaré

    esta va mejor:

    "^([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$"

    aun que aun no logro que en la parte nombre de usuario no acepte varia puntos seguidos


    jueves, 12 de julio de 2012 18:56
  • Solo cambias el codigo, probado por mi persona

     For Each mail As String In txtpara.Text.Split(";")
                    If IsValidEmail(LCase(mail)) = False Then
                        MessageBox.Show("Dirección de correo electronico no valida, el correo debe tener el formato: nombre@dominio.com, " & _
                        " por favor seleccione un correo valido", "Validación de correo electronico", MessageBoxButtons.OK,
                        MessageBoxIcon.Exclamation)
                        txtpara.Focus()
                        Exit Sub
                    End If
                Next

    Public Function IsValidEmail(ByVal email As String) As Boolean Return Regex.IsMatch(email, "^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]{2,4}$") End Function


    jueves, 27 de marzo de 2014 16:45