使用Javascript限制单词中textarea的长度?

前端之家收集整理的这篇文章主要介绍了使用Javascript限制单词中textarea的长度?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在keyup上有以下绑定,如果它们超过150个字符就会发出警告,但你可以按下okay并继续键入然后继续按下就可以了.

我想以150个单词(不是字符)裁剪它们,如果它们键入它,则删除附加内容.但我似乎无法弄明白该怎么做,我可以搞清楚角色.但不是言语.

  1. jQuery('textarea').keyup(function() {
  2. var $this,wordcount;
  3. $this = $(this);
  4. wordcount = $this.val().split(/\b[\s,\.-:;]*/).length;
  5. if (wordcount > 150) {
  6. jQuery(".word_count span").text("150");
  7. return alert("You've reached the maximum allowed words.");
  8. } else {
  9. return jQuery(".word_count span").text(wordcount);
  10. }
  11. });

解决方法

如果您想阻止输入本身(当计数> 150时),您可以执行以下操作:

>使用按键而不是键盘
>而不是返回alert()首先执行alert()然后返回false;

您可能还想添加更改(或模糊)事件处理程序来处理文本粘贴.

  1. var maxWords = 150;
  2. jQuery('textarea').keypress(function() {
  3. var $this,wordcount;
  4. $this = $(this);
  5. wordcount = $this.val().split(/\b[\s,\.-:;]*/).length;
  6. if (wordcount > maxWords) {
  7. jQuery(".word_count span").text("" + maxWords);
  8. alert("You've reached the maximum allowed words.");
  9. return false;
  10. } else {
  11. return jQuery(".word_count span").text(wordcount);
  12. }
  13. });
  14.  
  15. jQuery('textarea').change(function() {
  16. var words = $(this).val().split(/\b[\s,\.-:;]*/);
  17. if (words.length > maxWords) {
  18. words.splice(maxWords);
  19. $(this).val(words.join(""));
  20. alert("You've reached the maximum allowed words. Extra words removed.");
  21. }
  22. });​

Fiddle here

猜你在找的JavaScript相关文章