Hola desconocido

Hora internet: @ 952

Validar un e-mail ingresado en un formulario usando InStr() y Len()

Con este script podemos verificar que una cadena de caracteres, represente a algun mail. En resumen, verificaremos si un usuario ingreso un mail o no. Si no lo hizo, rechazaremos su petición. Este script tiene un cierto alcanze de verificación. Se podría programar uno aun mejor.

Aqui está el ejemplo en acción, pueden provarlo con todos los email que quieran:

Ingresar un email:   


Y aqui el código de la validacion del mail.

<FORM METHOD="post" ACTION="">
Ingresar un email: <INPUT NAME="correo"><INPUT TYPE="Submit" VALUE="Comprobar!">
</FORM>
<%
If request.form("correo") <> "" then 'hago la comprobacion.
   correo = Trim(request.Form("correo"))
   Response.Write "El email que ingresaste es: <B>"& correo &"</B><BR><BR>"
   'nos fijamos que tenga mas de 4 caracteres de longitud (no existen mails de 4)
   If Len(correo) < 5 then novalido = "No puede tener menos de <B>5</B> caracteres.<BR>"
   'nos fijamos que contenga el caracter "@"
   If InStr(correo, "@") = 0 then novalido = novalido + "No contiene <B>""@""</B><BR>"
   'nos fijamos que contenga el caracter "."
   If InStr(correo, ".") = 0 then novalido = novalido + "No contiene <B>"".""</B><BR>"
   'nos fijamos que exista un . despues de la "@"
   'cuidado con los mails que son de este estilo algo.algo@hotmail.com
   'para eso ponemos como comienzo de busqueda, el caracter de la "@"
   ubicacion_arroba = InStr(correo, "@")
   'si no hay @ en la cadena, ubicacion_arroba tomará el valor 0, entonces...
   If (ubicacion_arroba <> 0) and (InStr(correo, ".") <> 0) then
      If InStr(correo, "@") > InStr(ubicacion_arroba, correo, ".") then
         novalido = novalido + "No existe un <B>"".""</B> despues del <B>""@""</B>"
      End If
   End If
   If novalido = "" then
       novalido = "<B>Email valido</B>"
       Response.Write novalido
   Else
       Response.Write "<B>Email invalido</B>. Los motivos son los siguientes: <BR>"
       response.Write novalido
   End If
End If
%>


Este script de validación no funcionará para gente que ingrese email de la forma "aaaaa@." Este mail será válido para este script.
Les dejo una tarea: Agregarle al script la validacion para esa forma de mails.
Deveriamos hacer una funcion con todo este código, y asi llamarlo facilmente cada ves que lo necesitamos. No lo hice asi, para que sea más ilustrativo. Pero una vez que se entendio todo el código, es recomendable transformarlo a una funcion.





© SoloASP.com.ar - 2001 / 2005. Todos los derechos reservados. soloasp@soloasp.com.ar
Buenos Aires - Argentina. Diseño web y programación por Guido Laghi