Cita: Esta funcion lo que me hace es que cuando escribes en el formulario un caracter extraño da error, pero si escribo Jose Manuel con espacion me reconoce el error y no deberia.
Claro que deberia, tu expresion regular dice:
Todo lo que NO SEA a-z, A-Z o 0-9. ¿Donde especificas el espacio?
Tambien me he dado cuenta de que lo estas poniendo mal:
if (!ereg("^[a-zA0-Z9]+$",$_POST[nombre])){
Dices: a-z, A0-Z, 9 ? ... ¿Que?
Es a-zA-Z0-9
Usa preg_match, y para el espacio usa \s.