计算和限制文本区域中的单词数

2024-02-26

我设法使这个小 jquery 函数来计算在 textarea 字段中输入的单词数。

这是小提琴 http://jsfiddle.net/7DT5z/

这是代码:

JQUERY:

$(document).ready(function()
{
var wordCounts = {};
$("#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_count').html(finalCount);
    am_cal(finalCount);
}).keyup();
}); 

这是 html 代码

<textarea name="txtScript" id="word_count" cols="1" rows="1"></textarea>
Total word Count : <span id="display_count">0</span> words.

我怎样才能对其进行修改以获得这样的输出

总字数:0 字。剩余字数:200

当它达到 200 个单词时,它不允许在 jquery 的 textarea 字段中粘贴或输入更多单词?即,它应限制用户只能键入 200 个单词,不得超过该数量。

请帮忙。

预先非常感谢。

编辑:仅此代码需要修改,因为我非常了解插件,但它们可能会干扰主代码。


Using return false停止keyupevents 不会阻止该事件,因为在这种情况下该事件已经触发。这keyup当用户在执行该键的默认操作之后释放某个键时,该事件将触发。

您将需要以编程方式编辑textarea你有#wordcount:

$(document).ready(function() {
  $("#word_count").on('keyup', function() {
    var words = 0;

    if ((this.value.match(/\S+/g)) != null) {
      words = this.value.match(/\S+/g).length;
    }

    if (words > 200) {
      // Split the string on first 200 words and rejoin on spaces
      var trimmed = $(this).val().split(/\s+/, 200).join(" ");
      // Add a space at the end to make sure more typing creates new words
      $(this).val(trimmed + " ");
    }
    else {
      $('#display_count').text(words);
      $('#word_left').text(200-words);
    }
  });
});

http://jsfiddle.net/k8y50bgd/ http://jsfiddle.net/k8y50bgd/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算和限制文本区域中的单词数 的相关文章

随机推荐