Валидация формы JS на мобильных устройствах

Я делал свой проект, и там была простая валидация на JS

/* Validate name card */
function validateName(event) {
  const regular = `"1234567890!@#$%^&*().,/\\\`~"[]|><{}№;:?\_=+"`;
  if (regular.indexOf(event.key) != -1) event.preventDefault();
}

/* Validate number card */
function validateNumber() {
  const number = document.querySelector("#number");
  const numbers = /[0-9]/;
  const regNumbers = /[0-9]{4}/;

  number.addEventListener("input", (e) => {
    if (e.inputType === "insertText" && !numbers.test(e.data)) {
      number.value = number.value.slice(0, number.value.length - 1);
    }

    const value = number.value;
    if (
      e.inputType === "deleteContentBackward" &&
      regNumbers.test(value.slice(-4))
    ) {
      number.value = number.value.slice(0, number.value.length - 1);
    }

    if (regNumbers.test(value.slice(-4)) && value.length < 19) {
      number.value += " ";
    }
  });
}

С помощью регулярных выражений я делал проверку, и если символ попадал под это выражение, оно его удаляло. Грубо говоря, я на десктопной версии не могу ввести цифры в поле имя.

Проблема: Залил свой проект на GitHub Pages, решил проверить его на телефоне, я спокойно могу вводить цифры в поле, и оно пройдёт проверку(хотя не должно). Подскажет кто, почему так?


Ответы (0 шт):