Валидация формы 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, решил проверить его на телефоне, я спокойно могу вводить цифры в поле, и оно пройдёт проверку(хотя не должно). Подскажет кто, почему так?