【发布时间】:2021-12-18 17:57:54
【问题描述】:
我正在尝试验证多个电子邮件地址,但似乎无法正常工作。我是 Javascript 新手,我在互联网上搜索了解决方案,但无济于事。
我可以打印电子邮件地址,但在验证中它总是返回 false 我做错了什么?
这个想法是,当用户想要删除地址时,可以将电子邮件地址添加到一个和一个删除按钮。我正在尝试在按下提交按钮时验证电子邮件。
if 语句在 for 循环内外都不起作用
我有什么:
function checkEmail() {
// Get all nodes with querySelectorAll
var elements = document.getElementById("ul-emaillist").getElementsByTagName("p");
// Log values
elements.forEach(element => console.log(element.innerText));
for (let index = 0; index < elements.length; ++index) {
const email = elements[index];
validEmail(email);
}
if (!validEmail()){
console.log("email klopt niet");
return false;
}else{
return true;
}
}
function validEmail(email) {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
};
<ul id="ul-emaillist">
<li class="delete">
<p>test@hotmail.com</p><button class="delete">delete</button>
</li>
<li class="delete">
<p>testperson2@gmail.com</p><button class="delete">delete</button>
</li>
</ul>
<button onclick="checkEmail()">Validate</button>
【问题讨论】:
-
如果您的 if 语句不起作用怎么办?它会抛出错误吗?
-
即使我检查了正确的电子邮件地址,它也总是返回 false
标签: javascript html regex