Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/02/2007, 17:04
Avatar de alegna
alegna
 
Fecha de Ingreso: julio-2005
Mensajes: 14
Antigüedad: 19 años, 6 meses
Puntos: 0
Validar campo usuario a lo que necesito

Hola:

Tengo un formulario con tres campos: usuario, nombre y apellido y correo electronico; pero empiezo a preguntar por el primero para no hacerlo muy largo. Indico los problemas y dudas.

El campo usuario debe tener un minimo de 5 caracteres alfanumericos y un maximo de 28; admitir solo minusculas, punto, guion bajo y numeros. El primer caracter no debe admitir un espacio ni tampoco un guion bajo o ser un numero.
Formatos correctos: a.legna | alegna | a_legna | alegna_98 | ale98
Por que admite mayusculas? donde esta el error?
Se puede simplificar el codigo... estableciendo las variables de otra manera? utilizando un solo IF?.... Lei algo como {5,28} pero no se como ni donde ubicarlo

Cita:
<html>
<head>
<title>Solicitar Documento</title>

<!--******* Estilo para elementos del formulario *******-->
<style>
fieldset {clear: both; width: auto; margin: 5% 20%; padding: 3px;
border: thick 1px #def;}

label {display: block; width: 150px;
font: 80% Arial, Helvetica, sans-serif; margin-left: 7px ;}

.botones {text-align: center;}

#control {display: inline; margin: 0px 25px;}

.campo {display: inline; width: 200px; margin: 5px 6px 5px 6px;
padding: 2px; border: inset 1px #abc;}
</style>

<!--**************** Validacion campo Usuario ****************-->
<script>
<!--
function validar(solicitar){
var cUse = solicitar.usuario.value.length;
var c_nu = /^([a-z]|[0-9]|_|.)+$/

// Campo Usuario
if(!c_nu.test(solicitar.usuario.value)){
alert('No se permiten campos vacios ni mayusculas.');
solicitar.usuario.focus();
solicitar.usuario.select();
return false;
}
if((cUse<=5)||(cUse>=28)){
alert('Nombre de usuario incorrecto.\nNo se admiten espacios en blanco.\nPuede contener entre 5 y 28 caracteres.');
solicitar.usuario.focus();
solicitar.usuario.select();
return false;
}
else
alert('Su solicitud ha sido enviada.');
return true;
}
//-->
</script>

</head>

<body onLoad="this.document.solicitar.usuario.focus()">

<form action="mailto: [email protected]" method="post" name="solicitar" onSubmit="return validar(this)">

<!--Datos Personales-->
<fieldset>
<legend>Sus Datos</legend>
<table>
<tr>
<td>
<label>Usuario:</label>
<input type="text" name="Usuario" id="usuario" maxlength="28" value="" class="campo">
</td>
</tr>
</table>
</fieldset>

<!--Boton de Envio-->
<div class="botones">
<div id="control">
<input type="submit" value="Enviar Datos" name="enviar">
</div>
<div id="control">
<input type="reset" value="Limpiar Datos">
</div>
</div>

</form>
</body>
</html>
Si pueden ayudarme con esto tal vez pueda resolver los otros dos campos solita..