У меня проблема с регулярным выражением и некоторыми операторами if. У меня есть классическая форма с " name ", " lastName " и " email ".
Я использую простую проверку с этими , если заявления
function addTask(e) {
const filter = /^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/;
const filterName = /[a-zA-Z]/
if (!filter.test(email2.value)) {
alert('please enter valid mail')
}
if (!filterName.test(lastName.value)) {
showError('Please check your last name');
}
if (!filterName.test(yourName.value)) {
showError('Please check your name');
} else {
save(yourName.value, lastName.value, email2.value, text.value);
const div = document.createElement('div');
div.className = "testimonial";
const div2 = document.createElement('div');
div2.className = "pic";
div.appendChild(div2);
const img = document.createElement('img');
img.src = "tormund.png";
div2.appendChild(img);
const p = document.createElement('p');
p.className = "description";
p.appendChild(document.createTextNode(text.value));
div.appendChild(p);
const h3 = document.createElement('h3');
h3.className = "title";
h3.appendChild(document.createTextNode(yourName.value));
div.appendChild(h3);
cards.appendChild(div);
}
e.preventDefault();
}
<input id="name" type="text" name="field1" placeholder="Name*" >
<input id="lastName" type="text" name="field2" placeholder="Last name*">
<input id="emailRev" type="email" name="field3" placeholder="Email *">
имя и электронная почта , если операторы работают отлично, они не перейдут прямо к «другому оператору» и сразу же прекратят запуск функции, но когда дело доходит до last имя , код продолжается непосредственно до " else " и выполняется создание моей карты.
Также следует упомянуть, что регулярное выражение должно быть только текст для обоих полей ввода. Кто-нибудь знает, где я ошибаюсь?