So...the original code was wrong too, but...still. Probably should be an entirely different function for validating free-form numbers.