我正在尝试计算在textarea字段中输入的单词数。我想显示文字“你的文字低于500字,请写更多”如果字数低于500字,如果数字超过500字,它应该说“干得好!你的文字超过500字”。我怎样才能做到这一点?
$(document).ready(function()
{
var wordCounts = {};
$("#my_word_count").keyup(function() {
var matches = this.value.match(/\b/g);
wordCounts[this.id] = matches ? matches.length / 2 : 0;
var finalCount = 0;
$.each(wordCounts, function(k, v) {
finalCount += v;
});
$('#display_word_count').html(finalCount);
am_cal(finalCount);
}).keyup();
});
<textarea name="txtScript" id="my_word_count" cols="100" rows="10"></textarea>
<br>Total word Count : <span id="display_word_count">0</span> words.
我建议计算实际的单词,而不是计算单词边界。
$(document).ready(function() {
var $wordCountDisplay = $('#display_word_count');
var $wordCountDisplayMessage = $('#display_word_count_message');
var desiredMinimumWordCount = 10;
$('#my_word_count').on('input', function (e) {
var wordCount = ( e.target.value.match(/\w+/g) || [] ).length;
$wordCountDisplay.text(wordCount);
if (wordCount < desiredMinimumWordCount) {
$wordCountDisplayMessage.text('Your text is below '+ desiredMinimumWordCount +' words please write some more');
$wordCountDisplayMessage.removeClass('greatJob');
} else {
$wordCountDisplayMessage.text('Great job! Your text is over '+ desiredMinimumWordCount +' words');
$wordCountDisplayMessage.addClass('greatJob');
}
}).trigger('input');
});
.greatJob { color: blue; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea name="txtScript" id="my_word_count" cols="100" rows="10"></textarea>
<br>Total word Count : <span id="display_word_count">0</span> words.
<br><span id="display_word_count_message"></span>