Я заранее прошу прощения за любую неопределенность, но я так новичок в этом. При этом, вот проблема:
Я впервые использую проверку ввода с регулярным выражением и получаю следующую ошибку в консоли. Msgstr "Uncaught TypeError: Невозможно прочитать свойство 'значение' из неопределенного." Это для 6-й строки моего JS. Когда я смотрю на код и сравниваю строки с 6 по 16, они выглядят точно так же. Может кто-нибудь объяснить, что я делаю не так?
Это мой первый проект, и я бы хотел, чтобы он был безошибочным. Пожалуйста, помогите, нежно.
Спасибо.
HTML:
<input type="text" placeholder="Weight" id="userWeight"
onkeyup="numbersOnly(this)"/>
AND
<input type="text" placeholder="Enter Dish" name="search"
id="mealText" onkeyup="lettersOnly(this)"/>
JS:
/ Функция использует регулярное выражение, которое представляет собой последовательность символов, определяющих шаблон поиска. Этот шаблон используется алгоритмами поиска строк для операций «найти» или «найти и заменить» над строками или для проверки правильности ввода.
г = глобальный; Это флаг, который указывает, что регулярное выражение должно быть проверено на соответствие всем возможным совпадениям в строке & i = без учета регистра
[] содержит логику регулярных выражений, которая группирует «a» - «z» и исключает все другие символы, используя ^ = все, кроме /
function lettersOnly(input) {
var regex = /[^a-z]/gi;
input.value = input.value.replace(regex, "") //this is line 6 w/
the error
}
lettersOnly();
function numbersOnly(input) {
var regex = /[^0-9]/g;
input.value = input.value.replace(regex, "") //this is line 16 w/o
an error
}
}
numbersOnly();
Я попытался удалить ';', но это не сработало. На самом деле я здесь потерян.
Код работает, как и ожидалось, но эта ошибка ...