2016-06-28 10 views
0

Ich mag für Schleifen zwei verwenden und charAt so, wenn ich in „Banana“ in dem Textfeld gesetzt wird es nur „aaa“ zeigtDrucke Vokale nur aus String aus textbox

#textbox = Textbox

#lbl = Label (in dem das Ergebnis zeigen wird)

das ist, was ich habe, und es ist nicht richtig funktioniert ...

$("#vow").click(function() { 
    var vowels = "aeiou"; 
    var v = $("#textbox").val(); 
    var label = $("#lbl").html(v); 

    for (i = 0; i < vowels.length; i++) { 
     vowels.charAt(i) == v.charAt(j); 
     for (j = 0; j < v.length; j++) { 
      label = v; 
     } 
    } 
}); 

Antwort

1

"Simple" Code (zumindest zu lesen):

var vowels = "aeiou"; 
var label = "banana"; 

var stripped = ""; 
for (i = 0; i < label.length; i++) { 
    if(vowels.indexOf(label[i]) >= 0) stripped += label[i]; 
} 
console.log(stripped); 

Aber ich Sie einfach nur Ihre Fragen zu verwenden:

"banana".replace(/[^aeiouy]/ig, "") 

I ist ein regex, der sagt: " ersetzen Sie alles, was nicht aeiouy zu nichts ist ". i und g sind Flags: i = case insensitive, g = global (ersetzen Sie alle Vorkommen)

2

Verwenden Array#filter über String#split und Array#join es dann!

var v = 'aeiou'; 
 
var input = 'Banana'; 
 
var splitted = v.split(''); 
 
var op = input.split('').filter(function(item) { 
 
    return splitted.indexOf(item) > -1; 
 
}).join(''); 
 
console.log(op);

0

function isVowel(c) { 
 
    return ['a', 'e', 'i', 'o', 'u'].indexOf(c.toLowerCase()) !== -1 
 
} 
 

 
function getVowels(input) { 
 
    var result = ""; 
 
    for (var i = 0; i < input.length; i++) { 
 
     if (isVowel(input.charAt(i))) { 
 
      result = result.concat(input.charAt(i) + ""); 
 
     } 
 
    } 
 
    return result; 
 
} 
 

 

 
$("#vow").click(function() { 
 
    var input = $("#textbox").val(); 
 
    $("#outputBox").val(getVowels(input)); 
 
}); 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="textbox" /> 
 
<button id="vow">Get Vowels</button><output id="outputBox" />

0

Versuchen Sie, die replace Funktion

$("#vow").click(function() { 
 
    var v = $("#textbox").val(); 
 
    $("#vowels").html($("#textbox").val().replace(/[^aeiou]/g, '')); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input id="textbox" /> 
 
<button id="vow">Get Vowels</button> 
 

 
<p id="vowels"></p>
mit