我对正则表达式和某些if语句有疑问。我的经典表格带有“ 名称”,“ 姓氏”和“ 电子邮件”。
我正在对这些 if语句
使用简单的验证
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 *">
名称和电子邮件,如果语句运行正常,它们将不会直接进入“ else statement”,并且会立即停止运行该功能,但是当涉及到姓氏,代码直接继续到“ else ”并执行我的卡创建。
还要提一下,两个输入字段的正则表达式均应仅是文本。谁知道我在哪里弄错了吗?