Как запретить ввод значения 0 в input number?

Рейтинг: -2Ответов: 1Опубликовано: 14.05.2023

В депозитном калькуляторе есть условие в input type="number", что срок вклада не меньше месяцев и сумма не меньше 50000.

Прописала условия, теперь если пользователь вводит значения меньше, то они превращаются в 3 и 50000 соответственно. Но это не работает, если пользователь вводит в поле 0, просто всё висит.

И не получается сделать так, чтобы нельзя было ввести значения, начинающиеся с нуля, например 03.

https://github.com/kolibri0509/portfolio_bank_calculator.

let form = document.forms.calculator
form.month.addEventListener('change', calculate)

function calculate() {
  let year = form.month.value / 12
  if (!year) return

  if (form.month.value > 24) {
    form.month.value = 24;
    year = 2
  }
  if (form.month.value < 3) {
    form.month.value = 3
    year = 0.25
  }
}
<div class="first">
  <label for="month" class="grey">На срок</label>
  <br>
  <input type="number" id="month" class="month" name="month" value="3" min="3" max="24" step="1" required>
  <label for="month" class="monthLabel">месяца</label>
</div>

Ответы

▲ 1Принят

Нашла решение, вроде всё работает:

form.month.addEventListener('input', () => {
   let inputValue = form.month.value.replace(/^0/g, '');
   form.month.value = inputValue;
})