Validar correo electrónico
Normalmente se nos presenta el inconveniente de saber si la dirección de correo electrónico que están escribiendo nuestros usuarios esta en un formato valido o no, para este fin el proceso a realizar es, la validacion de las partes básicas de un correo electrónico, tal como una @ un . (Punto) y un dominio consecuente
Para poder lograr esta validacion usaremos una expresión regular, en vb.net
Espacio de nombres:
Imports System.Text.RegularExpressions
Función
' retorna true o false
Return Regex.IsMatch(sMail, _
"^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-
9-]+)*(\.[a-z]{2,4})$")
End Function
Llamado a la funcion la cual puede ser desde el evente leave de el textbox deseado
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)
TxtMail.Focus()
TxtMail.SelectAll()
End If
Saludos!
Y como siempre dudas o comentarios son bien recibidos
Pero como hacen paara controlar la longitud del texto....??
ResponderEliminarEn el caso del correo electronico, desconozco si los servidores tienen un limite del nombre... ahora si lo que tú deseas es controlar o condicionar la condicion de una cadena.. puedes usar LEN.
Eliminarsintaxis
Len(MICadena)
excelente gracias
EliminarOtra Opción sería la propiedad MaxLength del TextBox
Eliminareres un genio...
ResponderEliminarGracias por tu aporte y ayudarnos a muchos a resolver inquietudes que tenemos sobre vb.net .... probe tu codigo y esta muy bueno, pero siempre la curiosidad mata al gato y googleando me encontre esta funcion que funciona igual que la tuya, pero con mucho menos codigo, la posteo para aquellos igual que yo, buscan eficientar sus aplicaciones... espero no te moleste:
ResponderEliminarTry
'Creamos nuestro objeto, el constructor recive la cadena como parametro
Dim mail As New System.Net.Mail.MailAddress(TextBox1.Text)
'Al crear nuestro objeto evalua la cadena, y si es correcta no se produce
'ningun error
MessageBox.Show("Correo valido")
Catch ex As Exception
'En caso de que el formato de la cadena sea incorrecto nos produce una exepcion
'del tipo FormatException, ni necesidad tenemos que escribir el mensaje de error
'simplemente lo obtenemos de la exepcion
MessageBox.Show(ex.Message)
End Try
la encontre en este blog: http://tips-de-programacion-vb.blogspot.com/2010/01/validar-que-una-direccion-de-email.html
Wichortiz. Muy buena ambas, ya que con la de Cesar Lopez nos da la opción de editar nuestro mensaje. Pero la que tu has comentado Excelente.
EliminarEste comentario ha sido eliminado por el autor.
EliminarTengo un formulario el cual habilita un boton siempre y cuando, todos los textboxs existentes cumplan con el tipo de dato y largo maximo.
EliminarComo puedo implementar esa funcion a mi codigo?
Private Sub BtnCuentaNueva_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCuentaNueva.Click
tamañoMaximo()
If TxtRUT.Text.Length < 12 Then
MsgBox("El RUT debe tener 12 caracteres")
ElseIf TxtNumPuerta.TextLength < 4 Then
MsgBox("El Numero de Puerta debe tener 4 digitos")
ElseIf TxtNuevaCedula.TextLength < 8 Then
MsgBox("La cédula debe tener 8 digitos")
ElseIf TxtSucursal.TextLength < 3 Then
MsgBox("El ID de la sucursal debe tener 3 digitos")
End If
mensaje = "¿Esta seguro de que desea crear esta cuenta?"
textoMsgBox = "Cuenta creada"
advertencia(titulo, mensaje, textoMsgBox)
limpiar()
genial carnal
ResponderEliminarBuena, gracias :)
ResponderEliminargracias..!
ResponderEliminarme funciono correctamente
ESPERO Y ME RESPONDA ALGUUIEN ESTO PARA SER UNA PRACTICA ESCOLAR ESTA MUY BIEN PERO ESTA MAL POR EJEMPLO SI PONGO ERIK@GI.CIM NO ME MARCA ERROR DIGAMOS QUE ME EQUIBOQUE AL INTRODUCIR VARIAS LETRA Y PUSE OTRA EN LUGAR DE HOTMAIL.COM PUSE HOT.CIM ESO ESTA MAL Y NO ME MARCA ERROR COMO PUEDO HACER PARA ARREGLAR ESTO POR FAVOR ESPERO UNA RESPUESTA GRACIAS
ResponderEliminarYo cree una lista de dominios en sql server para validar esa parte del correo por ejemplo:
ResponderEliminarhotmail.com
hotmail.es
outlook.com
outlook.es
yahoo.com
yahoo.com.mx
yahoo.es
hotmail.co.uk
hotmail.fr
hotmail.it
hotmail.cl
hotmail.co.jp
yahoo.fr
yahoo.de
yahoo.it