0

是否可以让这个函数更准确地计算单词,最重要的是计算可编辑 div 中的单词?

$(document).ready(function() {

$('.word_count').each(function() {
    var input = '#' + this.id;
    var count = input + '_count';
    $(count).show();
    word_count(input, count);
    $(this).keyup(function() { word_count(input, count) });
});

});

function word_count(field, count) {

var number = 0;
var matches = $(field).val().match(/\b/g);
if(matches) {
    number = matches.length/2;
}
$(count).text( number + ' word' + (number != 1 ? 's' : '') + ' aprox' );

}
4

3 回答 3

0

尝试这个:

var numwords = $(field).val().match(/\S+/g).length;

于 2013-05-17T13:36:28.957 回答
0

从我的个人图书馆:

var s = "Is it possible to make this function to count words more accurately and most important, count the word inside a editable div?";
s = s.replace(/(^\s*)|(\s*$)/gi, "");
s = s.replace(/[ ]{2,}/gi, " ");
s = s.replace(/\n /, "\n");
var countresult = s.split(' ').length;
alert("The string:\""+s+"\" and the word count is "+countresult+".");

有关工作示例,请参见http://jsfiddle.net/farondomenic/XAvh6/ 。

于 2013-05-17T13:41:36.083 回答
0

我会使用 .split() 方法。抓取元素并创建一个数组。非常直接且易于编码。我认为你不需要比这更多的例子来知道你是否喜欢这个想法。有任何问题,我都会在... W3 Schools Example

于 2013-05-17T13:41:41.800 回答