2017-01-28 3 views
0

Ich versuche, einen E-Mail-Generator (für den persönlichen Gebrauch) zu erstellen, der eine Eingabe von Vor- und Nachnamen benötigt und dann eine Liste von Domänennamen in einem Array verwendet, das ich erstellt habe. Haben Sie die Idee von diesem site und zwickte es ein bisschen für das, was ich brauche.E-Mail-Generator (Javascript)

Hier ist der Beispielcode.

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; 
} 

das Ergebnis wäre der letzte Wert auf dem Array nur drucken, die "mac.com" so wäre es vb @ mac.com, vb @ mac.com, vb @ mac.com ist immer“.. „.

ich dachte, dass es alle möglichen Kombinationen wie

[email protected],[email protected],[email protected] 
[email protected],[email protected],[email protected] 
[email protected],[email protected],[email protected] 

etc ..

Bin ich es richtig tun, oder gibt es etwas, das ich tun anzeigen würde hinzuzufügen, oder kann es ?

Ich habe mir den Kopf gestoßen, als ich vor kurzem Kodierung gelernt habe und hier Anleitung von den Profis brauchen würde.

Ich dachte daran, den langen Weg zu tun, aber ich denke, ich hätte einen sehr langen Code.

firstname + "@" + "gmail.com" + ","; 
firstname + lastname + "@" + "yahoo.com" + "," 

Edit: von Grund auf neu gestartet und wird auf einem anderen Ansatz basierend auf den Kommentaren weiter unten gehen.

+0

zu setzen. Sie brauchen '{...}' um Ihre 'for' Schleife Inhalt ... –

+1

Ich empfehle Verwenden eines Arrays anstelle der Nummerierung der Variablen. Sie können dann 'addresses.join (", ")' verwenden, um sie zu kombinieren. – 4castle

+0

vielleicht hilft http://stackoverflow.com/questions/38471657/word-combination-in-an-array-using-javascript ein wenig. –

Antwort

0

Ich versuchte ein wenig herum und bekam dies als result. Sie können den Code sehen hier:

html:

<form name="names"> 
    <input type="text" id="box1" name="firstlastname" placeholder="Luke Skywalker"><br> 
<br> 
    <input type="submit" id="button-make" value="Make Variations" onClick="permutate(this.form);return false;"> 
</form> 

<input type="submit" id="button-reset" value="Reset" onClick="reset('results');return false;"> 

<div id="results"></div> 

css:

#form { 
    margin-top: 20px; 
} 

input[type] { 
    font-size: 25px; 
    font-family: arial; 
} 

#box1 { 
    width: 317px; 
    padding: 10px 12px; 
    margin-bottom: 10px; 
    border: 1px solid rgb(200, 200, 200); 
    border-top-color: rgb(100, 100, 100); 
    border-radius: 5px; 
    color: #5A5A5A; 
} 

#button-reset { 
    position: relative; 
    display: inline-block; 
} 

#button-make, 
#button-reset { 
    float: left; 
} 

#button-reset { 
    margin: 0 0 0 10px; 
} 

#results { 
    position: relative; 
    height: 200px; 
    display: block; 
    overflow: auto; 
    margin-top: 45px; 
    padding: 15px; 
    border: 1px solid rgb(200, 200, 200); 
    /*border-bottom: 1px solid rgb(200,200,200);*/ 
    background: rgb(245, 245, 245); 
    color: rgb(50, 50, 50); 
    font-size: 20px; 
    line-height: 36px; 
    font-family: arial; 
} 

javascript:

function permutate(form) { 

    var firstlastname = form.firstlastname.value.toLowerCase().trim(); 
    var namesplit = firstlastname.split(" "); 
    var firstname = namesplit[0]; 
    var lastname = namesplit[1]; 
    var arr = []; 
    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 = i + 1) { 
     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; 
     arr.push(addresses) 
    } 
    } 
    var innertext = document.getElementById("results"); 
    innertext.innerHTML = arr; 
} 

Ich habe die {} für anderen Teil und die if-Schleife und hat ein Array hinzugefügt, das die Ergebnisse enthält. Dann habe ich die push Funktion verwendet, um mein Array zu füllen, und der letzte Schritt ist, die innerHTML auf den Inhalt des Arrays

+0

Danke. Kann noch nicht Upvote, aber es wird sehr geschätzt. – Jaren

Verwandte Themen