Buenas noches foreros, tengo un pekeño problema, estoy validando un formulario y al momento de darle click al submit mando a llamar una funcion la cual verifica las cadenas, el problema es que por mas que le doy un return 0 siempre hace submit y no se xq

aca les pongo mi codigo, por si alguien encuentra mi error.
Código HTML:
<SCRIPT LANGUAGE="JavaScript">
function prueba(form){
fecha = /^\d{4,4}\/\d{1,2}\/\d{1,2}$/
exp_reg = /^(0[1-9]|1\d|2[0-3]):([0-5]\d)/
if (!exp_reg.test(form.hora1.value)){
alert ("Formato Invalido para Hora Fase I (HH:MM)");
form.hora1.focus();
return 0;
}
if (!exp_reg.test(form.hora2.value)){
alert ("Formato Invalido para Hora Fase II (HH:MM)");
form.hora2.focus();
return 0;
}
if (!fecha.test(form.campo_fecha.value)){
alert ("Formato Invalido para Fecha Fase I (AAAA:MM:DD)");
form.campo_fecha.focus();
return 0;
}
if (!fecha.test(form.campo_fecha2.value)){
alert ("Formato Invalido para Fecha Fase II (AAAA:MM:DD)");
form.campo_fecha2.focus();
return 0;
}
}
</script>
<form id="ingreso" name="ingreso" class="wufoo topLabel" enctype="multipart/form-data" method="get" action="ingresar_horario.php">
<input id="saveForm" class="btTxt" type="submit" value="Aceptar" tabindex="9" onclick="prueba(this.form)" />