That’s a nice solution, making use of the array method some.
Your solution otherwise follows largely Ramon’s approach, as it utilizes many simpler regex expressions to validate a number. You should definitely try to optimize them a bit to make it more concise, without losing readability. Example: testing for the optional 1 with a ? would cut the number of patterns by 50% already.