If only digits and space characters are allowed in the string, forget the (numeric) quantifiers and just check for the conditions you described; zero or more spaces followed by one or more digits; anchored fore and aft (at the beginning and end of the string) so nothing can come before the optional spaces and nothing after the digits:
^\s*\d+$
If characters other than digits and spaces may appear, I'd go for a coded solution rather than trying to concoct a single regex to do it all.
(Edited to add "numeric")