Código HTML:
<script language="javascript"> function validar_nick (){ //Campo nickname if (document.form_usuario.nick.value.length<5){ //validamos el nombre msj_nick = document.getElementById("msj_nick"); msj_nick.innerHTML = '<span class="txt_red">Su nickname, debe ser mas largo</span>'; return(false); } else { msj_nick = document.getElementById("msj_nick"); msj_nick.innerHTML = '<img src="images/ico/ok.png" />'; return(true); } } function validar_mail (){ //Campo mail email = document.form_usuario.email.value; filtro =/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/; if (filtro.test(email)){ msj_mail = document.getElementById("msj_mail"); msj_mail.innerHTML = '<img src="images/ico/ok.png" />'; return (true); } else { msj_mail = document.getElementById("msj_mail"); msj_mail.innerHTML = '<span class="txt_red">La direccion de email, es incorrecta</span>'; return(false); } } function validar_pass () { pass = document.form_usuario.pass.value; if (pass > 5) { repass = document.form_usuario.repass.value; if (pass == repass){ msj_pass = document.getElementById("msj_pass"); msj_pass.innerHTML = '<img src="images/ico/ok.png" />'; return (true); } else { msj_mail = document.getElementById("msj_pass"); msj_mail.innerHTML = '<span class="txt_red">La contraseña no coincide</span>'; return(false); } } else { msj_mail = document.getElementById("msj_pass"); msj_mail.innerHTML = '<span class="txt_red">La contraseña es demasiado corta</span>'; return(false); } } function validar_fecha(){ fecha = document.form_usuario.fecha.value; msj_fecha = document.getElementById("msj_fecha"); if (fecha != "" ){ if (!/^\d{2}\-\d{2}\-\d{4}$/.test(fecha)){ msj_fecha.innerHTML = '<span class="txt_red">Formato de fecha invalido</span>'; return(false); } var dia = parseInt(fecha.substring(0,2),10); var mes = parseInt(fecha.substring(3,5),10); var anio = parseInt(fecha.substring(6),10); switch(mes){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: numDias=31; break; case 4: case 6: case 9: case 11: numDias=30; break; case 2: if (comprobarSiBisisesto(anio)){ numDias=29 }else{ numDias=28}; break; default: msj_fecha.innerHTML = '<span class="txt_red">Fecha no valida</span>'; return false; } if (dia>numDias || dia==0){ msj_fecha.innerHTML = '<span class="txt_red">Fecha no valida</span>'; return false; } msj_fecha.innerHTML = '<img src="images/ico/ok.png" />'; return true; } } function comprobarSiBisisesto(anio){ if ( ( anio % 100 != 0) && ((anio % 4 == 0) || (anio % 400 == 0))) { return true; } else { return false; } } function enviar_form (){ //Si paso por todos los if, esta correcto para enviar, y se envia. if (validar_nick() && validar_mail() && validar_pass() && validar_fecha()) { document.form_usuario.submit(); } else { validar_nick(); validar_mail(); validar_pass(); validar_fecha(); } } </script>