Вы можете попробовать что-то вроде этого:
<script>
function allowRange(min, max, input) {
if(input.value == '-' || (isNaN(input.value) == false && parseInt(input.value) >= min && parseInt(input.value) <= max)) {
//do nothing
}
else {
input.value = '';
}
}
</script>
<input type="text" oninput="allowRange(-999, 999, this);">
Он автоматически сотрет любой вход, не входящий в диапазон.