For PCRE, you need to use pattern delimiters. For example:
$name= "John Smith 4";
if(preg_match("/[0-9]/",$name)){ echo "invalid name"; }else{ echo "valid name"; }
Of course, in this case you could just write:
$name= "John Smith 4";
if(preg_match('/\d/',$name)){ echo "invalid name"; }else{ echo "valid name"; }
I suggest using single quote delimited strings for your regex patterns.
Also, you should check for valid names instead of invalid names. Otherwise, you may miss out on an invalid combination.