<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%--
The taglib directive below imports the JSTL library. If you uncomment it,
you must also add the JSTL library to the project. The Add Library... action
on Libraries node in Projects view can be used to add the JSTL 1.1 library.
--%>
<%--
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
--%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<script language="javascript" type="text/javascript">
// Abril 2001, David Hernández Sanz
// http://www.terra.es/personal3/davidhdezsanz/
// Validacion de distintos tipos de campos de formulario:
// - Texto no nulo
// - Direccion de correo electronico (e-mail): alfanum@alfanum.alfanum[.alfanum], donde alfanum son caracteres alfanumericos u otros (pasados como parametro)
// - Direccion en Internet (URL)
// Para ello no se utilizan expresiones regulares.
//
//Este script y otros muchos pueden
//descarse on-line de forma gratuita
//en El Código: www.elcodigo.com
/* dice si cadena es texto no vacio o no */
function vacio(cadena)
{ // DECLARACION DE CONSTANTES
var blanco = " \n\t" + String.fromCharCode(13); // blancos
// DECLARACION DE VARIABLES
var i; // indice en cadena
var es_vacio; // cadena es vacio o no
for(i = 0, es_vacio = true; (i < cadena.length) && es_vacio; i++) // INICIO
es_vacio = blanco.indexOf(cadena.charAt(i)) != - 1;
return(es_vacio);
}
/* dice si cadena es un email (alfanum@alfanum.alfanum[.alfanum]) o no, don- */
/* de alfanum son caracteres alfanumericos u otros */
function email(cadena, otros)
{ // DECLARACION-INICIALIZACION VARIABLES
var i, j; // indice en cadena
var es_email = 0 < cadena.length; // cadena es email o no
i = salta_alfanumerico(cadena, 0, otros); // INICIO
if(es_email = 0 < i) // lee "alfanum*"
if(es_email = (i < cadena.length))
if(es_email = cadena.charAt(i) == '@') // lee "alfanum@*"
{
i++;
j = salta_alfanumerico(cadena, i, otros);
if(es_email = i < j) // lee "alfanum@alfanum*"
if(es_email = j < cadena.length)
if(es_email = cadena.charAt(j) == '\.')
{ // lee "alfanum@alfanum.*"
j++;
i = salta_alfanumerico(cadena, j, otros);
if(es_email = j < i) // lee "alfanum@alfanum.alfanum*"
while(es_email && (i < cadena.length))
if(es_email = cadena.charAt(i) == '\.')
{
i++;
j = salta_alfanumerico(cadena, i, otros);
if(es_email = i < j) // lee "alfanum@alfanum.alfanum[.alfanum]*"
i = j;
}
}
}
return(es_email);
}
/* dice si cadena es url (http://... ) o no */
function url(cadena)
{ // DECLARACION DE CONSTANTES
var http = "http://"; // protocolo HTTP
// DECLARACION DE VARIABLES
var es_url; // cadena es url o no
if(cadena.length <= 7) // INICIO
es_url = false; // no cabe "http://*"
else
es_url = http.indexOf(cadena.substring(0, 7)) != - 1; // lee "http://*"
return(es_url);
}
/* salta caracteres alfanumericos y otros a partir de cadena[i] y da si- */
/* guiente posicion */
function salta_alfanumerico(cadena, i, otros)
{ // DECLARACION DE VARIABLES
var j; // indice en cadena
var car; // caracter de cadena
var alfanum; // cadena[j] es alfanumerico u otros
for(j = i, alfanum = true; (j < cadena.length) && alfanum; j++) // INICIO
{
car = cadena.charAt(j);
alfanum = alfanumerico(car) || (otros.indexOf(car) != -1);
}
if(!alfanum) // lee "alfanumX"
j--;
return(j);
}
/* dice si car es alfanumerico */
function alfanumerico(car)
{
return(alfabetico(car) || numerico(car));
}
/* dice si car es alfabetico */
function alfabetico(car) // DECLARACION DE CONSTANTES
{ // caracteres alfabeticos
var alfa = "ABCDEFGHIJKLMNOPQRSTUWXYZabcdefghijklmnopqrstuvxyz";
return(alfa.indexOf(car) != - 1); // INICIO
}
/* dice si car es numerico */
function numerico(car)
{ // DECLARACION DE CONSTANTES
var num = "0123456789"; // caracteres numericos
return(num.indexOf(car) != - 1); // INICIO
}
// ejemplo validacion formulario
function ValidaCampos(form)
{
if(vacio(form.Nombre.value))
alert("Texto incorrecto.");
else if(!email(form.email.value, "-_"))
alert("Dirección de correo electrónico incorrecta.");
else if(!url(form.url.value))
alert("Dirección del sitio incorrecta.");
else
//sustituir esta linea por return(true) para hacer el submit de un formulario real
alert("Los datos son correctos");
return(true);
}
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<STYLE type="text/css">
<!--
FIELDSET { background: white;color: black }
.border1 { border: 0.5em double }
.border2 { border-style: solid;border-color: red green blue black;border-width: thin medium thick 5px }
.width1 { width: 25% }
.width2 { width: 500px }
.width3 { width: 15em }
.width4 { width: 30em }
-->
</STYLE>
</head>
<body>
<!--fieldset {width: 100px; border: 1px solid #000;}-->
<h1>JSP Page</h1>
<form id="verticalForm" action="" onSubmit="return ValidaCampos(this)">
<fieldset class="width1">
<legend>
Datos personales
</legend>
<label for="firstName1">
Nombre
<input id="firstName1" name="Nombre" type="text" value="Nombre" />
</label>
</br>
<label for="lastName1">
Apellidos
<input id="lastName1" name="Apellidos" type="text" value="Apellidos" />
</label>
</br>
<label for="Direccion">
Dirección
<input id="Direccion" name="Direccion" type="text" value="Dirección" />
</label>
</br>
<input type=submit>
</br>
</fieldset>
</form>
</body>
</html>

Escribe un comentario
Los comentarios están cerrados