codice:
function c_time( &$time ) {
	return preg_match("/^[0-9]{1,2}\:[0-9]{2}$/", $time );
}

$time = '23:15';
if( c_time($time) == false ) {
	$msg="Error";
}
else {
	$msg="Ok";
}
echo $msg;

anche se se ho capito bene, sarebbe meglio questa:
codice:
function c_time( &$time ) {
	$time = &explode( ':', $time );
	$time[0] = (int)$time[0];
	$time[1] = (int)$time[1];
	if( $time[0] < 0 || $time[0] > 23 ) {
		return false;
	}
	if( $time[1] < 0 || $time[1] > 59 ) {
		return false;
	}
	return true;
}