Código PHP:
   <script language="javascript">
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
function esFecha (day,month,year,campo) {
 
    var today = new Date();
    year = ((!year) ? y2k(today.getYear()):year);
    month = ((!month) ? today.getMonth():month-1);
    if (!day) return false
    var test = new Date(year,month,day);
    if ( (y2k(test.getYear()) == year) &&
         (month == test.getMonth()) &&
         (day == test.getDate()) )
        return true;
    else
        alert (campo + ' es incorrecto');
        return false
}
function EsCorreo(cadena) {
    // ¿se soportan expresiones regulares?
    var soportado = false;
    if (window.RegExp) {
          var cadenaTemp = "a";
        var regularTemp = new RegExp(cadenaTemp);
        if (regularTemp.test(cadenaTemp)) soportado = true;
        }
 
    if (!soportado)
           return (cadena.indexOf(".") > 2) && (cadena.indexOf("@") > 0);
 
    var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
    var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
    return (!r1.test(cadena) && r2.test(cadena));
}
function validaCorreo(correo,campo) {
 
    if (!EsCorreo(correo)) {
        alert(campo + " es incorrecto.");
           return false;
        }
    return true;
}
function esObligatorio(obligatorio,campo) {
 
    if (obligatorio == "") {
        alert(campo + " es obligatorio.");
           return false;
        }
    return true;
}
 
function validar ()
{
  var diahoy;
  var meshoy;
  var anohoy;
  var diarec;
  var mesrec;
  var anorec;
  var diadev;
  var mesdev;
  var anodev;
  var correcto;
 
  correcto = true;
 
  diahoy = document.reserva_vehiculo.diahoy.value;
  meshoy = document.reserva_vehiculo.meshoy.value;
  anohoy = document.reserva_vehiculo.anohoy.value;
  diarec = document.reserva_vehiculo.diarec.value;
  mesrec = document.reserva_vehiculo.mesrec.value;
  anorec = document.reserva_vehiculo.anorec.value;
  diadev = document.reserva_vehiculo.diadev.value;
  mesdev = document.reserva_vehiculo.mesdev.value;
  anodev = document.reserva_vehiculo.anodev.value;
 
  lugrec = document.reserva_vehiculo.lugrec.value;
  mail = document.reserva_vehiculo.mail.value;
 
   //Primer campo obligatorio
   correcto = esObligatorio(lugrec,"El lugar de recogida del vehículo")
    if (!correcto) {document.frmFormulario.oficina.focus();return;}
    //Segundo campo obligatorio
   correcto = esObligatorio(mail,"La dirección de correo electrónico")
    if (!correcto) {document.frmFormulario.oficina.focus();return;}
    
    //Fechas
   correcto = esFecha(diarec, mesrec,anorec,"El día de Recogida");
    if (!correcto) {document.reserva_vehiculo.diarec.focus();return;}
 
    correcto = esFecha(diadev, mesdev,anodev,"El día de Devolución");
    if (!correcto) {document.reserva_vehiculo.diadev.focus();return;}
 
    var today = new Date(anohoy,meshoy-1,diahoy);
 
    var fecharec = new Date(anorec,mesrec-1,diarec);
    if (fecharec < today) {alert('La fecha de recogida no puede ser anterior a la de hoy.');document.reserva_vehiculo.diarec.focus();correcto = false;return;};
 
   var fechadev = new Date(anodev,mesdev-1,diadev);
  if (fechadev < fecharec) {alert('La fecha de devolución no puede ser anterior a la de recogida.');document.reserva_vehiculo.diadev.focus();correcto = false;return;};
 
        //validación de correo
        correcto = validaCorreo(mail,"El formato de correo electrónico")
        if (!correcto) {document.reserva_vehiculo.mail.focus();return;}
 
   if (correcto) {
    document.reserva_vehiculo.submit();}
}
</script> 
   Código PHP:
   <input type="submit" value="Reservar" class="botones" onclick="return validar()"> 
    Alguien sabe pq no funciona??
 
 

 
  
 
