Не рекомендуется использовать регулярные выражения для проверки числовых значений. Лучше написать небольшую функцию валидатора как раз для этой цели.
Вы можете очень легко проверить числовые / нечисловые значения с помощью этого регулярного выражения: [0-9]+
Конечно, это позволит использовать много ведущих нулей и не учитывать десятичные дроби. Вы можете получить более сложные, такие как [0-9]+(\.(0|[0-9]+))?
Я думаю, что это сделает десятичную опциональной. И мы даже не начали в отрицательных знаках, научной нотации и других форматах нотации. Если вы укажете разрешенный формат ввода, мы сможем гораздо легче помочь с регулярным выражением.