JS的字数统计问题

时间:2014-02-27 17:36:39

标签: javascript html word-count

我是非常非常新的JS,没有编程经验,我正在努力创建一个计算文本框中单词的脚本。我有以下代码,我无法得到任何东西填充:

    var myTextareaElement = document.getElementById("myWordsToCount");
    myTextareaElement.onkeyup = function(){
      var wordsCounted = myTextareaElement.value;
      var i = 0;
      var str = wordsCounted; 
      var words = str.split('');
      for (var i = words.length; i++) {if (words[i].length > 0; i++) { words[i]  };
} 

对于HTML中的Span Id,我提出以下内容:

<span id="wordsCounted"></span>

任何方向,我在皇室般的搞乱都会很棒。我已经在JS小提琴中尝试了它,但无法让它填充。

2 个答案:

答案 0 :(得分:3)

split方法需要一个合适的字符,你可以使用空格“”或正则表达式来表示任何空白字符:"My name is XXX".split(/\s+/)将显示["My", "name", "is", "XXX"]。 如果您只想要单词数量"My name is XXX".split(/\s+/).length,则返回4。

答案 1 :(得分:0)

试试这个,这可能会做你想要的。而不是做一个for循环,只计算有多少个单词并显示数组的长度。

var myTextareaElement = document.getElementById("myWordsToCount");
    myTextareaElement.onkeyup = function(){
      var wordsCounted = myTextareaElement.value;
      var i = 0;
      var str = wordsCounted; 
      var words = str.split('');
      if (words.length > 0){
          document.getElementById('wordsCounted').innerHTML = words.length;
      }
}