codice:
<SCRIPT LANGUAGE="JavaScript">
function isTime(obj) { // (c) br1
	str = obj.value;
	RE = /[^\d^\:^\-^\.^\,]/gi
	str = str.replace(RE,"");
	RE = /[\-\.\,]/gi
	str = str.replace(RE,":");

	str="0"+str+":0"
	spz = str.split(":"); 
	hh = parseInt(spz[0],10)
	mm = parseInt(spz[1],10)
	 
	if	( ( (hh==24&&mm==0) || (hh<24&&mm<60) ) && (hh==0&&mm==0&&str.length>3) ) { 
		obj.value = ""+String(100+hh).substr(1)+":"+String(100+mm).substr(1)
		return true;
	}
	alert("formato ora Errato");
	obj.focus();
	return false;
} 
</SCRIPT>

Uso: <input type=text name="campoOra" onblur="isTime(this)">
Oppure: <form ... onsubmit="return isTime(this.campoOra)">
oppure ancora puoi provare con una singola RegExpr http://www.regexplib.com/DisplayPatt...5&categoryId=5

ciao