苦苦挣扎与数字正则表达匹配

I'm trying to match only numbers and spaces in my php regex but the following fails and I can't seem to understand why, can anyone shed some light on what I'm doing wrong please?

$pattern = '/^[0-9\ ]$/';

Thanks

Your regular expression just describes one single character. You might want to add a quantifier like +:

'/^[0-9\ ]+$/'

This describes a string of one or more digits or space characters.

........

$pattern = '/^[\d\ ]+$/';

Also you can use:

'/^[0-9\s]+$/'

\s stands for space char