【发布时间】:2017-01-29 07:20:51
【问题描述】:
我正在尝试创建一个电子邮件生成器(供个人使用),它需要输入名字和姓氏,然后使用我创建的数组中的域名列表。 从这个site 中得到了这个想法,并根据我的需要对其进行了一些调整。
这是示例代码。
function permutate(form) {
var firstlastname = form.firstlastname.value.toLowerCase().trim();
var namesplit = firstlastname.split(" ");
var firstname = namesplit[0];
var lastname = namesplit[1];
var domain = ['gmail.com','yahoo.com','hotmail.com','msn.com','outlook.com','live.com','me.com','aol.com','mac.com'];
if (firstname==null || firstname==""){
document.getElementById("results").innerHTML= "At least enter a first name to get started!";
return false;
} else if (lastname==null || lastname==""){
document.getElementById("results").innerHTML= "Come on!, enter a last name!";
return false;
} else {}
for (var i=0; i<domain.length;i++)
var p1 = firstname + "@" + domain[i] + ",";
var p2 = firstname + lastname + "@" + domain[i] + ",";
var p3 = firstname + "." + lastname + "@" + domain[i] + ",";
var p4 = firstname.charAt(0) + lastname + "@" + domain[i] + ",";
var p5 = firstname.charAt(0) + "." + lastname + "@" + domain[i] + ",";
var p6 = firstname + lastname.charAt(0) + "@" + domain[i] + ",";
var p7 = firstname + "." + lastname.charAt(0) + "@" + domain[i] + ",";
var p8 = firstname.charAt(0) + lastname.charAt(0) + "@" + domain[i] + ",";
var p9 = firstname + "_" + lastname + "@" + domain[i] + ",";
var p10 = firstname.charAt(0) + "_" + lastname + "@" + domain[i] + ",";
var p11 = lastname + firstname + "@" + domain[i] + ",";
var p12 = lastname + "." + firstname + "@" + domain[i] + ",";
var p13 = lastname + firstname.charAt(0) + "@" + domain[i] + ",";
var p14 = lastname + "." + firstname.charAt(0) + "@" + domain[i];
var addresses= p1 + p2 + p3 + p4 + p5 + p6 + p7 + p8 + p9 + p10 + p11 + p12 + p13 + p14;
document.getElementById("results").innerHTML= addresses;
}
结果将只打印数组上的最后一个值,该值始终为“mac.com”,因此它将是“vb@mac.com,v.b@mac.com,vb@mac.com...”
我在想它会显示所有可能的组合,例如
vb@gmail.com,v.b@gmail.com,vb@gmail.com...
vb@yahoo.com,v.b@yahoo.com,vb@yahoo.com...
vb@hotmail.com,v.b@hotmail.com,vb@hotmail.com...
等等。
我做得对吗,还是有什么我需要添加或可以完成的?
最近刚学习编码时,我一直在敲我的脑袋,需要这里专业人士的指导。
我一直在考虑这样做,但我想我的代码会很长。
firstname + "@" + "gmail.com" + ",";
firstname + lastname + "@" + "yahoo.com" + ","
编辑:再次从头开始,将根据下面的 cmets 采用不同的方法。
【问题讨论】:
-
你需要
{...}围绕你的for循环内容... -
我建议使用数组而不是给变量编号。然后您可以使用
addresses.join(",")来组合它们。 -
@NiettheDarkAbsol,谢谢,错过了。
-
@4castle 谢谢,我会调查的。
标签: javascript email