更准确地计算单词

时间:2013-05-17 13:33:17

标签: javascript html counter onkeyup

是否可以使此功能更准确地计算单词,最重要的是,计算可编辑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' );

}

3 个答案:

答案 0 :(得分:0)

试试这个:

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

答案 1 :(得分: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/了解工作示例。

答案 2 :(得分:0)

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