<html>
<head>
<script type="text/javascript">
function valida_envia(frm){
var nombre = frm.nombre.value;
var apellido1 = frm.apellido1.value;
var apellido2 = frm.apellido2.value;
var patronOKnomb = /^([A-Za-zñÑ]{3,20})$/; // Acepta letras
if ((!patronOKnomb.test(nombre)) || (!patronOKnomb.test(apellido1)) || (!patronOKnomb.test(apellido2))) {
alert("Tiene que escribir su nombre y dos apellidos");
return (false);
}
var ano = frm.ano.value;
var patronOKano = /^(\d{4})$/; // Acepta números
if (!patronOKano.test(ano)) {
alert("Ha de rellena del campo año");
return (false);
}
if ((ano<= '1910') || (ano >= '1992')) {
alert("Eres muy mayor o muy joven para esto");
return (false);
}
var nif = frm.nif.value;
var patronOKnif = /^(\d{1,8}[A-Z])$/;
if (!patronOKnif.test(nif)) {
alert('Dni erroneo');
return (false);
}
var number = nif.substr(0,nif.length-1); // número nif
var letra = nif.substr(nif.length-1,1); // letra nif
var comprobacion = (number % 23);
var arr_letras = new Array('T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E','T');
var letra_array = arr_letras[comprobacion];
if (letra != letra_array) {
alert("La letra no corresponde al número dado");
return (false);
}
var direccion = frm.direccion.value;
var numero = frm.numero.value;
var patronOKdir = /^([A-Za-z0-9ñÑ]{3,50})$/; // Acepta letras y números
var patronOKnum = /^(\d{1,4})$/; // Acepta números
if ((!patronOKdir.test(direccion)) || (!patronOKnum.test(numero))) {
alert("Por favor rellene dirección y numero");
return (false);
}
var cpostal = frm.cpostal.value;
var patronOKcpostal = /^(\d{5})$/; // Acepta números
if (!patronOKcpostal.test(cpostal)) {
alert("El c.Postal debe de ser de 5 dígitos");
return (false);
}
var poblacion = frm.poblacion.value;
var patronOKpob = /^([A-Za-zñÑ]{3,25})$/; // Acepta letras
if (!patronOKpob.test(poblacion)) {
alert("Debes de rellenar el campo población");
return (false);
}
var email = frm.email.value;
var patronOKmail = /^([0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*)@([0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,3})$/;
if (!patronOKmail.test(email)) {
alert("Debes de rellenar bien el campo Email");
return (false);
}
var telefono = frm.telefono.value;
var patronOKfone = /^(\d{9})$/; // Acepta números
if (!patronOKfone.test(telefono)) {
alert("Introduce un teléfono correcto(9 dígitos)");
return (false);
}
var password = frm.password.value;
var patronOKpass = /^([A-Za-z0-9]{4,8})$/; // Acepta letras y números
if (!patronOKpass.test(password)) {
alert("la contraseña debe de ser entre 4 y 8 caracteres");
return (false);
}
var rpassword = frm.rpassword.value;
if (rpassword != password) {
alert("Las contraseñas no coinciden, revíselo");
return (false);
} else{
alert("Muchas gracias por enviar el formulario");
return (true);
}
}
</script>
</head>
<body>
<form name="formulario" action="form.html" method="post" onsubmit="return valida_envia(this);">
<h1>DATOS PERSONALES</h1>
<P>Rellenar las casillas siguientes con sus datos personales</P>
<table>
<tr>
<td>Nombre(*):</td>
<td><input type="text" value="" name="nombre" size="30" maxlength="30"></td>
</tr>
<tr>
<td>1 Apellido (*):</td>
<td><input type="text" value="" name="apellido1" size="30" maxlength="30"></td>
</tr>
<tr>
<td>2º Apellido (*):</td>
<td><input type="text" value="" name="apellido2" size="30" maxlength="30"></td>
</tr>
<tr>
<td>Sexo(*):</td>
<td><input type="radio" name="sexo" value="Varon" checked> Hombre</td>
<td><input type="radio" name="sexo" value="Hembra"> Mujer</td>
</tr>
<tr>
<td>Fecha de nacimiento(*):</td>
<td>día:</td>
<td> <select name="dia">
<option value="1">1 </option>
<option value="2">2 </option>
<option value="3">3 </option>
</select>
</td>
<td>mes:</td>
<td>
<select name="mes">
<option value="1">1 </option>
<option value="2">2 </option>
</select>
</td>
<td>Año(*):</td>
<td> <input type="text" value="" name="ano" size="4" maxlength="4"></td>
</tr>
<tr>
<td>N.I.F.(*):</td>
<td> <input type="text" value="" name="nif" size="9" maxlength="9"></td>
</tr>
<tr>
<td>Tipo de via:</td>
<td> <select name="tipocalle">
<option value="1">Calle </option>
<option value="2">Avenida </option>
<option value="3">Travesera </option>
<option value="4">Paseo </option>
<option value="5">Rambla </option>
<option value="6">Plaza </option>
</select>
</td>
</tr>
<tr>
<td>Dirección (*):</td>
<td><input type="text" value="" name="direccion" size="50" maxlength="50"></td>
</tr>
<tr>
<td>Numero (*):</td>
<td><input type="text" value="" name="numero" size="4" maxlength="4"></td>
</tr>
<tr>
<td>Portal:
<td><input type="text" value="" name="portal" size="3" maxlength="3"></td>
<td>Escalera:
<td><input type="text" value="" name="escalera" size="1" maxlength="1"></td>
</tr>
<tr>
<td>Piso:
<td><input type="text" value="" name="piso" size="2" maxlength="2"></td>
<td>Puerta:
<td><input type="text" name="puerta" size="2" maxlength="2"></td>
</tr>
<tr>
<td>Código Postal (*):
<td><input type="text" value="" name="cpostal" size="5" maxlength="5"></td>
</tr>
<tr>
<td>Población (*):
<td><input type="text" value="" name="poblacion" size="25" maxlength="25"></td>
</tr>
<tr>
<td>Email@ (*):
<td><input type="text" value="" name="email" size="25" maxlength="25" ></td>
</tr>
<tr>
<td>Telefono (*):
<td><input type="text" value="" name="telefono" size="9" maxlength="9"></td>
</tr>
<td>Telefono Móbil :
<td><input type="text" value="" name="mobil" size="9" maxlength="9"></td>
<tr>
<td>Contraseña (*):
<td><input type="password" value="" name="password"size="8" maxlength="8"></td>
</tr>
<tr>
<td>Repetir Contraseña (*):
<td><input type="password" value="" name="rpassword"size="8" maxlength="8"></td>
</tr>
<tr>
<td><input type="submit" value="Enviar" name="envio"></td>
<td><input name="Restablecer" type="reset" /></td>
</tr>
</table>
</form>
</body>
</html>