dissabte, 21 de desembre del 2013

OTRO EJEMPLO: VALIDAR DATOS DE FORMULARIOS

<html>
<head>
<title>Envio de datos personales</title>
<SCRIPT LANGUAGE="JavaScript">

function ValidaDatos()
{
//compruebo que los requeridos están cubiertos
if(NoVacio("txtNombre","txtApellidos","txtTlfn","txtEMail") == false) return false;

//Ahora se comprueba que el número de teléfono no tenga letras
y tenga 9 dígitos
with(document.forms.frmDatos.txtTlfn)
{
if(value.length !=9) return false;
for(i=0;i<value.length;i++)
{
if(isNan(parseInt(value.charAt(i))) == true)
return false;
}
}

//Ahora compruebo que el e-mail tenga almenos una arroba
var email=document.forms.frmDatos.txtEmail.value;
var pos = email.indexOf("@");
if (pos == -1) return false;
// también debe tener al menos un carácter antes y
después de la arroba
if ((pos == 0) || (pos == email.length-1)) return false;
//Además debe tener un punto después de la arroba,
//y alguna letra antes y después del punto
var pos2 = email.indexOf(".");
if ((pos2<pos+1) || pos2 == email.length-1) return false;

//por fin se debe comprobar que no contenga espacios en blanco por el medio

for (i=0;i<email.length; i++)
{
if (email.charAt(i) == " ") return false;
}

//si se ha llegado hasta aquí es que todo ha ido bien

return true;
}

/* Esta función quita los espacios en blanco
al principio y al final de las cadenas
*/

function Trim(sDato)
{

for (i=0; i<sDato.length; i++)
{
if (sDato.charAt(i) != " ")
{
sDato = sDato.substring(i, sDato.length);
break;
}
}

for (i=sDato.length-1; i>0; i--)
{
if (sDato.charAt(i) != " ")
{
sDato = sDato.substring (0, i+1);
break;
}
}
return sDato;
}

/* Esta función comprueba que los campos pasados
dentro del formulario no estén vacios ni con espacios en blanco al principio y al final */

function NoVacio()
{
for (j=0; j<NoVacio.arguments.length; j++)
{
with(document.forms.frmDatos.elements[NoVacio.arguments[j]])
{
value = Trim(value);
if (value == "")
{
return false;
}
}
}

//si llegué hasta aquí es porque todos tenían algo dentro
return true;
}

</SCRIPT>
</head>

<body bgcolor="#FFFFFF">
<p align="center"><b><font size="6" color="#0000FF">
Env¬iacute;o de datos personales
para lista de distribuci&oacute;n</font></b></p>

<form name="frmDatos" Action="...cgi-bin/RecibeDatos.asp" Method="GET" onSubmit="return
ValidaDatos();">

<p><b><font size="4">Nombre<font color="#FF0000">*</font></font></b>:
<input type="text" name="txtNombre" size="20">
</p>
<p><b><font size="4">Apellidos<font color="#FF0000"> * </font></font></b>:
<input type="text" name="txtApellidos" size="40">
</p>
<p><b><font size="4">Direcci&oacute;n</font></b>:
<input type=ª"text" name="txtDir" size="60">
<b><font size="4">Localidad</font></b>:

<input type="text" name="txtCiudad" size="25">
<b><font size="4">C.P. </font></b>:
<input type="text" name="txtCP" size="5">
</p>

<p><b><font size="4">Tel¬eacute;fono<font color="#FF0000">*</font></font></b>:
<input type="text" name="txtEmail" size="30">
</p>
<p>
<input type="checkbox" name="chkInfo" value="checkbox" checked>
<font size="4"><b>Deseo recibir informa¬acute;n sobre sus productos</b></font></p>
<center>
<p>
<input type="submit" name="Enviar" value="Enviar datos personales">
<input type="reset" name="Reset" value="Volver a rellenar datos">
</p>
</center>
</form>
</body>
</html>

/*   Este programa solicita por teclado una série de datos que después serán enviados
via red */
/* Juan Ferrer COPY */

************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************