Para saber si el valor es numerico si: is_int --> dice si el valor es un entero
mas info en:
http://es2.php.net/manual/es/function.is-int.php
En cuanto al espacio en blanco no se si existe una funcion concreta para eso. Sin embargo existen formas de hacerlo, una de ellas seria:
utilizar la funcion strstr(a, b) --> Devuelve FALSE si no encuentra el valor, en tu caso el espacio en blanco " ". Seria:
strstr($_POST[valor], " ");
Mas info en:
http://es2.php.net/manual/es/function.strstr.php
Espero ayudarte.