Código PHP:
<head>
<script type="text/javascript">
// Validacion de distintos tipos de campos de formulario:
// - Texto no nulo
// - Direccion de correo electronico (e-mail): [email protected][.alfanum], donde alfanum son caracteres alfanumericos u otros (pasados como parametro)
// - Direccion en Internet (URL)
// Para ello no se utilizan expresiones regulares.
//
/* 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 ([email protected][.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 "[email protected]*"
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 "[email protected][.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 "a?????N?lfanumX"
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(usuario)
{
if(!email(usuario.usuario.value, "-_"))
//alert("Dirección de correo electrónico incorrecta.");
document.form.action="usuario/control_acceso.php";
document.form.submit();
return(true);
else
//sustituir esta linea por return(true) para hacer el submit de un formulario real
document.form.action="usuarioxxxxxx/control_acceso.php";
document.form.submit();
return(true);
}
</script>
</head>
<form id="form" name="form" onSubmit="return ValidaCampos(this)" method="post">
<table width="170" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="76%"><div align="right" class="tituloazul">Usuario:</div></td>
<td width="24%"><input name="usuario" type="text" class="abstract" id="usuario" size="10"/></td>
</tr>
<tr>
<td><div align="right" class="tituloazul">Contraseña:</div></td>
<td><input name="contrasena" type="password" class="abstract" id="contrasena" size="10"/></td>
</tr>
<tr>
<td colspan="2"><div align="right">
<input name="Input" value="Validar" type="image" src="img/boton_enviar.png" align="absbottom"/>
</div></td>
</tr>
</table>
</form>
</body>
gracias por la ayuda ..