https://developer.mozilla.org/en-US/docs/Learn/Forms/HTML5_input_types
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/month - month
https://developer.mozilla.org/ru/docs/Web/API/ValidityState

<input type="month">
<input type="number" name="age" id="age" min="1" max="10" step="2">

type


Только цифры

<input type="text" oninput="this.value=this.value.replace(/[^0-9]/g,'');">

Только положительные числа

<input type="number" name="test_name" min="0" oninput="validity.valid||(value='');">