从文本框中仅打印字符串中的元音

时间:2016-06-28 17:01:25

标签: javascript jquery html

我想使用两个for循环并使用charAt所以如果我在文本框中输入“Banana”,它将仅显示“aaa”

  

#textbox =文本框

     

#lbl = label(结果显示的位置)

这就是我所拥有的,而且它无法正常工作......

$("#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;
        }
    }
});

4 个答案:

答案 0 :(得分:2)

  

使用Array#filter而不是String#split,然后使用Array#join

&#13;
&#13;
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);
&#13;
&#13;
&#13;

答案 1 :(得分:2)

&#34;简单&#34;代码(至少要阅读):

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

但我建议你简单地使用:

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

我是正则表达式,其中说:&#34; 将所有不属于aeiouy的内容替换为&#34;。我和g是标志i =不区分大小写,g =全局(替换所有出现次数)

答案 2 :(得分:0)

&#13;
&#13;
 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));
 });
 
&#13;
<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" />
&#13;
&#13;
&#13;

答案 3 :(得分:0)

尝试使用replace功能

&#13;
&#13;
$("#vow").click(function () {
    var v = $("#textbox").val();
    $("#vowels").html($("#textbox").val().replace(/[^aeiou]/g, ''));
});
&#13;
<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>
&#13;
&#13;
&#13;