валидация email JS
всем привет. подскажите по коду...
let valEmail = document.getElementById("validator_email"). value,
alarmEmail = document.getElementById("alarm_text_email");
let testElem = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
let valid = testElem.test(valEmail);
valEmail.oninput= function(){
console.log('print');
if (valid){
alarmEmail.innerHTML = "норм";
} else {
alarmEmail.innerHTML = "не норм";
}
comsole.log(valid);
}
почему valid все время false при вводе корректного e-mail ? в чем ошибка?
Ответы (1 шт):
Автор решения: vsemozhetbyt
→ Ссылка
Вам нужно получать значение valid внутри функции-обработчика. Сейчас вы его получаете один раз при загрузке страницы, когда поле ещё пустое, а потом при вводе значение переменной уже не обновляется.