我希望有一段JavaScript/jQuery代码,可以扫描整个页面查找电子邮件并将其存储在数组中。
我已经有了一个用于匹配电子邮件的正则表达式,并且知道如何检查文本字段是否有有效的电子邮件地址,但我不知道如何扫描整个文档/页面(包括h1标签、h2标签、锚点标签等)来查找电子邮件。请帮忙。
我已经有了一个用于匹配电子邮件的正则表达式,并且知道如何检查文本字段是否有有效的电子邮件地址,但我不知道如何扫描整个文档/页面(包括h1标签、h2标签、锚点标签等)来查找电子邮件。请帮忙。
我想这就是你要找的:
function getEmails() {
var search_in = document.body.innerHTML;
string_context = search_in.toString();
array_mails = string_context.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
return array_mails;
}
简短解释:
这个函数只是获取邮件内容所在的body,将其转换为字符串,然后使用简单的正则表达式(/g修饰符应用于/i修饰符也不区分大小写),以获取所有匹配的电子邮件文本。然后将这些匹配项作为数组返回。 var my_emails = getEmails()
可能是你想要的数组。
// assuming you have your regex stored in a variable "regex"
var emails = document.body.match(regex);
for(var i=0; i<emails.length; i++){
console.log(emails[i]); // or whatever you need to do with them
}