9

我一直在寻找使用 jQuery 向 textarea 添加单词和字符计数,尽管我发现的只是限制字符和单词的插件。

我想实时更新,这样每次用户添加一个字符或一个单词时,计数器都会更新。

有没有一种简单的方法来检查单词和字符?

4

5 回答 5

51

function wordCount(val) {
  var wom = val.match(/\S+/g);
  return {
    charactersNoSpaces: val.replace(/\s+/g, '').length,
    characters: val.length,
    words: wom ? wom.length : 0,
    lines: val.split(/\r*\n/).length
  };
}


var textarea = document.getElementById('text');
var result = document.getElementById('result');

textarea.addEventListener('input', function() {
  var wc = wordCount(this.value);
  result.innerHTML = (`
   <br>Characters (no spaces):  ${wc.charactersNoSpaces}
   <br>Characters (and spaces): ${wc.characters}
   <br>Words: ${wc.words}
   <br>Lines: ${wc.lines}
  `);
});
<textarea id="text" cols="30" rows="4"></textarea>
<div id="result"></div>

于 2012-12-23T11:14:07.870 回答
9
char_count = $("#myTextArea").val().length;
word_count = $("#myTextArea").val().split(" ").length;
于 2012-12-23T11:11:56.677 回答
0
var txt = $('.content')[0].text()
  , charCount = txt.length
  , wordCount = txt.replace( /[^\w ]/g, "" ).split( /\s+/ ).length
  ;
$( '#somwhereInYourDocument' ).text( "The text had " + charCount + " characters and " + wordCount +" words" );

阅读更多

于 2012-12-23T11:17:00.130 回答
-1

没有 jQuery:

this.innerHTML gives you the textarea content.  
this.innerHTML.length gives you the number of characters.

使用 jQuery:

$(this).html()

等等

我相信你可以想出一个简单的字数统计算法。

于 2012-12-23T11:09:49.673 回答
-1
jQuery(document).ready(function(){
    var count = jQuery("#textboxid").text().length;
});
于 2012-12-23T11:13:04.990 回答