9

jQueryを使用してテキストエリアに単語と文字数を追加しようとしましたが、見つけたのは文字と単語を制限するプラグインだけです。

ユーザーが文字または単語を追加するたびにカウンターが更新されるように、リアルタイムで更新したいと思います。

単語や文字を簡単に確認する方法はありますか?

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 に答える