Foro de Informatica
" Hay la misma diferencia entre un sabio y un ignorante que entre un hombre vivo y un cadáver "

- Aristóteles -



        


Google
 
Web www.ComputerFacil.com
Forista del Mes:

amateos1404




  Reply to this topicStart new topicStart Poll

> Compleja Validacion De Email
dejavi
  Publicado: Aug 29 2007, 04:14 PM
Quote Post


Tera user
Group Icon

Grupo: Moderadores
Mensajes: 3.733
Miembro nº: 17.695
Registrado: 18-January 07



290807.




En ella se hace una validacion compleja y severa sobre una cadena que deberia ser un email.
A continuación les muestro el código de la función, y luego un ejemplo de como usarla.

Archivo: ValidarEmail.asp

<%
'Funcion que comprueba si un e-mail es valido. Devuelve:
' 0 -> si es nulo o esta vacio
' 1 -> Si el e-mail es incorrecto
' 2 -> Si el e-mail es valido

Function Validar_EMail(EMail)

Dim Con

If EMail = "" Then
Validar_EMail = 0
Exit Function
End If

EMail = LCase(EMail)

If (Left(EMail, 1) = "." Or Left(EMail, 1) = "@") Then
Validar_EMail = 1
Exit Function
End If

If (Right(EMail, 1) = "." Or Right(EMail, 1) = "_" Or _
Right(EMail, 1) = "@") Then
Validar_EMail = 1
Exit Function
End If

Con = 0

For i = 1 To Len(EMail)
If (Mid(EMail, i, 1)) = "@" Then
Con = Con + 1
End If
Next

If Con > 1 Or Con = 0 Then
Validar_EMail = 1
Exit Function
End If

Con = 0

For i = 1 To Len(EMail)
If (Mid(EMail, i, 1)) = "@" Then
For j = i To Len(EMail)
If (Mid(EMail, j, 1)) = "." Then
Con = Con + 1
End If
Next
End If
Next

If Con < 1 Then
Validar_EMail = 1
Exit Function
End If

Con = 0

For i = 1 To Len(EMail)
If (Mid(EMail, i, 1) = ".") Or (Mid(EMail, i, 1) = "@") Then
If (Mid(EMail, i + 1, 1) = ".") Or (Mid(EMail, i + 1, 1) = "@") Then
Validar_EMail = 1
Exit Function
End If
End If
Next

For i = 1 To Len(EMail)
If (Mid(EMail, i, 1) < "a" Or Mid(EMail, i, 1) > "z") And _
(Mid(EMail, i, 1) < "0" Or Mid(EMail, i, 1) > "9") And _
Mid(EMail, i, 1) <> "." And Mid(EMail, i, 1) <> "_" And _
Mid(EMail, i, 1) <> "@" Then
Validar_EMail = 1
Exit Function
End If
Next

Validar_EMail = 2

End Function
%>


Bueno, esta fue toda la funcion que validará los emails que le pasaremos como argumento.
Ahora un corto ejemplo de como funciona y como usarla.

Archivo: verificar.asp

<!-- #Include File="ValidarEmail.asp"-->
<%
if request.form("envio") = "envio" then
if Validar_EMail(Request.form("correo")) = 0 then response.write "Nulo o Vacio"
if Validar_EMail(Request.form("correo")) = 1 then response.write "Email inválido"
if Validar_EMail(Request.form("correo")) = 2 then response.write "Email válido"
end if
%>
<BR>
<FORM METHOD="post" ACTION="verificar.asp">
<INPUT NAME="correo">
<INPUT TYPE="Submit">
<INPUT TYPE="Hidden" NAME="envio" VALUE="envio">
</FORM>


Como se ve en el codigo, la primer linea hace un INCLUDE del archivo ValidarEmail.asp, el cual contiene la función aqui expuesta.
Cuando el Formulario es enviado se llama a la función Validar_EMail() pasandole lo que ingreso el usuario como argumento, y dependiendo de lo que devuelva la función sabremos si es una cadena con forma de email valida o no.

Si devuelve un 0, quiere decir que ningun caracter fue escrito
Si devuelve un 1, quiere decir que que el supuesto email es invalido
Si devuelve un 2, quiere decir que que el supuesto email es correcto.


thumbsup.gif






--------------------
user posted image
PMEmail Poster
Top
0 usuario(s) está(n) leyendo esta discusión (0 invitado(s) y 0 usuario(s) anónimo(s))
0 miembro(s):

Topic Options Reply to this topicStart new topicStart Poll

 


ComputerFacil.com © 2006
          Webs Afiliadas - Contacto
Ofertas PCs :: Consultor de Marketing Online :: Foros :: Posicionamiento Web :: Foros de Informatica :: Foros :: eurodipity :: elhacker