Control de e-mail en un textbox

Hola, lo que quisiera saber si hay alguna función para controlar en una caja de texto, que el texto ingresado sea una dirección de correo electrónico por ejemplo que controle si hay una @ entre el texto.
Gracias
Respuesta
1
Me temo que no. Como los correos electrónicos no tienen ninguna regla preestablecida, no hay control que los controle (que chiste más malo me ha quedado). Lo que hace todo el mundo es poner un TextBox y en el evento LostFocus validar, en la medida de lo posible, el correo electrónico buscando (con la función Insstr) si esta el carácter "@", si después de dicho carácter hay un punto y poco más.

4 respuestas más de otros expertos

Respuesta
1
Para validar la @ tienes que hacerlo tu, puede ser así:
Dim SearchString As String, SearchChar As String
Dim MyPos As Long
SearchString = "[email protected]" ' Cadena en la que se busca.
SearchChar = "@" ' Se busca "P".
' Una comparación textual que comienza en la posición 1.
' Devuelve 9 que es donde se encuentra el caracter @
' Si no encuentra el caracter devuelve 0
MyPos = InStr(1, SearchString, SearchChar, vbTextCompare)
Respuesta
1
Yo válido la dirección de e-mail de la siguiente manera.
Function EsValidaDireccionEmail(Direccion As String) As Boolean
Dim re As New RegExp
If Trim(Direccion) = "" Then
EsValidaDireccionEmail = False
Exit Function
End If
re.Pattern = "\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+"
If re.Test(Direccion) Then
EsValidaDireccionEmail = True
Else
EsValidaDireccionEmail = False
End If
Set re = Nothing
End Function
Creo que quizás necesite cargar alguna referencia que no lo hace visual basic por defecto. Si no te funciona prueba con Microsoft XML, x.x.
Respuesta
1
Pues tienes la función Instr que devuelve un tipo Variant (Long) que especifica la posición de la primera aparición de una cadena en otra.
Por ejemplo si quieres comprobar si dentro del string hay una @ :
if InStr("[email protected], "@") <= 0 then
msgbox "No hay arroba"
end if
Si devuelve un número mayor a cero es que si que existe una cadena dentro de la otra.
Otras consideraciones a tener en cuenta para la comprobación de la validez de un e-mail :
- Debe contener al menos un "." después de la arroba.
- Debe tener una longitud mínima de 6 caracteres.
- Debe tener solo una "@".
- Tener en cuenta que algunos caracteres no son válidos para la dirección : !#$%^&*()=+{}[]|\;:'/?>,<
Respuesta
1
¿Aun te inresa o ya es demasiado tarde?
Perdón por el retardo he estado de viaje.
RE: Hola, lo que quisiera saber si hay alguna función para controlar en una caja de texto, que el texto ingresado sea una dirección de correo electrónico por ejemplo que controle si hay una @ entre el texto.
Gracias
Re: ¿Control de e-mail en un textbox (29/08/03)
aun te inresa o ya es demasiado tarde?
Perdón por el retardo he estado de viaje.
Un saludo, DidE
Si, me interesa, ya hice una función en VB6 que controla que haya una por cantidad de caracteres a la izquierda y derecha del @, pero si tienes o sabes algo bienvenido.
Gracias
Hace algún tiempo implemente una función que se llamaba correook( correo )
La cual comprobaba lo siguiente:
1.- Que haya arroba.
2.- Que haya más dos caracteres a la izq de @
3.- Que haya más de dos caracteres a la derecha de @.
4.- Punto después de la arroba.
Pero lo mejor es enviar un email con la confirmación eso es lo único que asegura que el 100% de los correos aceptados son válidos ( el que meta uno erróneo no puede confirmar el alta o lo que sea ).
REcibe un saludo desde el otro lado del cable.
DidE

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas