function validacion(campo, mensaje){
//with (campo){
if(campo.value==null || campo.value==""){
alert(mensaje);
return false;
}
else
return true;
//}
}
function caracteres(campo, texto, minimo, maximo){
with (campo){
if (value.length <=maximo && value.length>=minimo)
return true;
else{
alert(texto);
return false;
}
}
}
function solonombre(campo, caracteres){
for (i=0; i<campo.value.length; i++){
if (caracteres.indexOf(campo.value.charAt(i),0)==-1){
return false;
}
}
}
function iguals(campo1, campo2, mensaje){
if (campo1.value==campo2.value)
return true;
else{
alert(mensaje);
return false;
}
}
/*function validacion_email(campo, mensaje){
with(campo){
apos=value.indexOf('@');
dotpos= value.lastIndexOf('.');
//mirem que @ i . estiguin a les possicions correctes, falta mirar que al final
//no siguin numeros... etc
if(apos<5 || dotpos-apos<3 || dotpos+3>value.length){
alert(mensaje);
return false;
}
else
return true;
}
}*/
function validacion_email(campo,mensaje){
if(!(/^\w.{6,}[@][\w]{2,}([.]([A-Za-z]{2,}))$/.test(campo.value))){
alert(mensaje);
return false;
}
else
return true;
}
function validacion2(campo, mensaje){
var i, contador=0;
for(i=0; i<campo.length; i++){
if (campo[i].selected==true)
contador++;
}
if(contador>=2)
return true;
else{
alert(mensaje);
return false;
}
}
function val_cond(box, mensaje)
{
if(box.checked == false)
{
alert(mensaje);
return false;
}
}
/*function checkAge (fecha)
{
var today = new Date();
var tmp = fecha.split('/');
if ((today.getFullYear () - tmp [2]) <18)
{
alert ('Atención: Menores de 18');
return false;
}
return true;
} */
function validar_data(cadena)
{
var datapartit = cadena.split("/");
var dia = datapartit[0];
var mes = datapartit[1];
var any = datapartit[2];
var ahora=new Date();
if ((any > 1800) && (any <= ahora.getFullYear()))
{
if ((mes >=1) && (mes <=12))
{
if (dia>=1)
{
if ((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12))
{
if(dia > 31)
{
return false
}
}
else
{
if ((mes==4) || (mes==6) || (mes==9) || (mes==11))
{
if (dia >30)
{
return false
}
}
else
{
if (mes==2)
{
if (any % 4==0)
{
if(dia>29)
return false;
}
else
{
if(dia>28)
return false;
}
}
}
}
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
//si tot es ok, comprobem la majoria d'edat
//validar_data(cadena)
return true;
}
function majorEdat(data){
var ahora=new Date();
var dataNeix = new Date();
var datapartit = data.split("/");
var dia = datapartit[0];
var mes = datapartit[1];
var any = datapartit[2];
dataNeix.setFullYear(any,mes-1, dia);
ahora.setFullYear(ahora.getYear()-18);
/*alert(dataNeix);
alert(ahora);*/
if(dataNeix>ahora)
return false;
}
function comprobar(formulario){
with(formulario){
if (validacion(usuario, "El nombre de usuario no debería estar en blanco")==false){
usuario.focus();
return false;
}
if (caracteres(usuario, "El nombre de usuario debe tener entre 6 y 12 caracteres",6,12)==false){
usuario.focus();
return false;
}
if (solonombre(usuario,"qwertyuiopasdfghjklñzxcvbnmQW ERTYUIOPASDFGHJKLÑZXCVBNM_1234567890")==false){
alert("Solo se admiten letras números y _ en el campo");
usuario.focus();
return false;
}
if (validacion(pass, "El password no debería estar en blanco")==false){
pass.focus();
return false;
}
if (caracteres(pass, "El password debe tener entre 6 y 8 caracteres",6,8)==false){
pass.focus();
return false;
}
if (solonombre(pass,"qwertyuiopasdfghjklñzxcvbnmQWERT YUIOPASDFGHJKLÑZXCVBNM1234567890")==false){
alert("Solo se admiten letras y números en el campo");
pass.focus();
return false;
}
if (validacion(pass2, "El password no debería estar en blanco")==false){
pass2.focus();
return false;
}
if(iguals(pass, pass2, "El pasword no coincide con su repetición")==false){
pass.style.backgroundColor="red";
pass2.style.backgroundColor='red';
return false;
}
else{
pass.style.backgroundColor="white";
pass2.style.backgroundColor='white';
}
if (validacion(email, "La dirección de correo no debería estar en blanco")==false){
email.focus();
return false;
}
if (validacion_email(email, "Formato incorrecto de e-mail")==false){
email.focus();
return false;
}
if (validacion(pais, "Tienes que seleccionar un pais")==false){
pais.focus();
return false;
}
if(validacion2(intereses, "Debe seleccionar 2 intereses como mínimo")==false){
intereses.focus();
return false;
}
/*if(checkAge(date, "El campo fecha no puede estar en blanco!!")==false){
date.focus();
return false;
}*/
if(val_cond(condicion, "El Checkbox debe estar marcado!!")==false){
condicion.focus();
return false;
}
var cadena;
cadena=fecha.value;
if (validar_data(cadena)==false)
{
alert ("fecha incorrecta");
fecha.focus();
return false;
}
if(majorEdat(cadena)==false){
alert("No se permiten menores de edad");
return false;
}
}
}
alguna otra forma para cambiar el codigo de comprobacion de si se es mayor de edad?