Конечно, вы можете сделать это
метод 1: использовать регулярное выражение
<input aria-label="text input " type="text" pattern="^[-+]?([0-9](\.[0-9]+)?|[0-4][0-9](\.[0-9]+)?|50(\.[0]+)?)$">
Вы можете использовать шаблоны регулярного выражения
Здесь я включил шаблон, который принимает значения из От -50 до + 50
метод 2
добавить это, чтобы заблокировать другой текст
oninput="this.value = this.value.replace(/regex strings or non numbers/g, '').replace(/regex for negative numbers /g, '$1')"