Mundo Web
manuales - recursos - graficos - programación...

Home - ASP -  Curso práctico - Capítulo 4  - 1 - 2 -  3 - 4

Curso práctico de ASP (IV)
por Luciano Moreno, del departamento de diseño web de BJS Software.


Ejercicio Resuelto.-

Como ya vimos en capítulos anteriores, aunque VBScript considera todos los datos que maneja como de tipo Variant, asigna a las Como aplicación práctica de las funciones de cadena, vamos a realizar una validación de dirección de e-mail. Como sabemos, la sintaxis válida de cualquier dirección de correo es del tipo:

usuario@servidor.dominio

Donde dominio puede ser com, es, net, etc.

Pues bien, a la vista de dicha sintaxis deberemos comprobar que le dirección tenga una subcadena, un carácter arroba, otra subcadena, un punto y otra subcadena final. Además, por si el usuario ha introducido algún espacio vacío inicial o final sin darse cuenta, vamos a eliminarlos de forma genérica.

Si el campo de formulario de la página inicial es de tipo texto y su atributo NAME en email, el código necesario para la validación lo tenéis en el siguiente listado:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ Language="VBScript"%>
<html>
<head>
  <title>Curso práctico de ASP. Validación de e-mail</title>
</head>
<body>
<%   
  Dim temporal1, temporal2, email, matriz1, arroba, punto, usuario, temporal3, servidor, dominio
  'Comprobamos que la cadena recogida no es vacía. Si no lo es, seguimos con la
  'validacion. Si lo es, detenemos la ejecución y volvemos a la página anterior
  temporal1 = Request.Form("email")
  If temporal1 = "" Then Error("Debe introducir una dirección de e-mail")
  'Eliminamos posibles espacios al principio y al final
  temporal2 = Trim(temporal1)
  'Quitamos posibles espacios intermedios
  email = Replace(temporal1, " ", "")
  'Verificamos que la dirección tenga un caracter @
  'Si no lo tiene, detenemos la ejecución y volvemos a la página anterior
  arroba = InStr( 1, email, "@", 1 )
  If arroba = 0 Then
    Error("La dirección de e-mail debe contener un caracter arroba (@)")
  End If
  'Verificamos que la dirección tenga un caracter punto(.)
  'Si no lo tiene, detenemos la ejecución y volvemos a la página anterior
  punto = InStr( 1, email, ".", 1 )
  If punto = 0 Then
    Error("La dirección de e-mail debe contener un caracter punto (.)")
  Else
    'Si todo va bien, separamos los componentes de la dirección de e-mail: usuario, servidor y dominio
    matriz = Split(email, "@", -1, 1)
    usuario = matriz(0)
    If usuario="" Then Error("La dirección de e-mail debe contener un nombre de usuario")
    temporal3 = Split(matriz(1), ".", -1, 1)
    servidor = temporal3(0)
    If servidor="" Then Error("La dirección de e-mail debe contener un nombre de servidor")
    dominio = temporal3(1)
    If dominio="" Then Error("La dirección de e-mail debe contener un nombre de dominio")
  End If
%>
La dirección de e-mail introducida es correcta.
<%
  Function Error(mensaje)
%>
<script language="JavaScript">
  alert("<%=mensaje%>");
  window.history.back();
</script>
<%
  End Function
%>
</body>
</html>

El resultado del código lo tenéis en esta ventana, en la que podéis apreciar la efectividad del mismo.

 

anterior
siguiente

Home - ASP -  Curso práctico - Capítulo 4  - 1 - 2 -  3 - 4