vale a ver, pasan varias cosas
1- te falta la llave para cerrar la función fecha
2-Los espacios que hay en los valores de los colores hay que borrarlos "#000";
3-has eliminado la variable matchArray
4-la expresión regular falla, en el último número parece que con un 3 va mejor
(no me entiendo demasiado todavia con expresiones regulares la verdad)
aqui el copypaste
Código:
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
function fecha(idCampo){
var datePat = /^(0[1-9]|1\d|2\d|3[1-2])\/(0[1-9]|1[0-2])\/\d{3}$/;
var matchArray =
document.getElementById(idCampo).value.match(datePat);
if (matchArray != null){
document.getElementById(idCampo).style.color="#000";
}else{
document.getElementById(idCampo).style.color="#f00";
}
}
</SCRIPT>
</head>
<body>
<input type="text" id="acomprobar" onkeypress="fecha('acomprobar')"/>
</body>
</html>
de todos modos verás que mientras estas escribiendo la fecha lo marca como mal hasta que no has escrito todos los números, ahí ya no te puedo ayudar mucho
quizás contando el número de caracteres del campo y solo si es mayor a 10 ejecutar la función es una opción, no se si habrá forma de con una expresión regular ir contemplando los espacios en blanco pero como te he dicho no las domino mucho