javascript - 验证字数统计 tinymce

标签 javascript jquery tinymce

我正在努力验证我的 tinymce 编辑器。目前我通过有效的字符数来验证它,但我想把它变成某种类似于字数的东西,因为这应该是一篇文章的正文。所以基本上他们不能提交只有几个字的文章。

目前我有这个

setup : function(ed) {
     ed.onInit.add(function(ed, evt) {
     tinymce.dom.Event.add(ed.getBody(), 'focusout', function(e, t) {
             var con = tinyMCE.activeEditor.getContent();
             var len = con.replace(/(<([^>]+)>)/ig,"").length;
             if(len <=100){
                $('.storyError').text('An artical has to have at least 100 words!');
             }else{
                    $('.storyError').text(' ');
             }
          });
      });
  }

在我的初始化之后,这确实有效,我只想计算单词而不是字符。非常感谢您的帮助!

最佳答案

在这里,只需替换选择器并根据需要获取文本:

    var count = 0;
    function fn(){
        count++;
        return ' ';
    }
    var x= $('textarea').text().trim();
    console.log(x);
    x= x.replace(/[\s]+/ig,fn);
    //x is now filtered out of extra spaces too !
    var words = count+1;
    count = 0;
    console.log(words);

JSFiddle

在你的情况下它将是:

    var count = 0;
    function fn(){
        count++;
        return ' ';
    }

    setup : function(ed) {
             ed.onInit.add(function(ed, evt) {
             tinymce.dom.Event.add(ed.getBody(), 'focusout', function(e, t) {
             var con = tinyMCE.activeEditor.getContent().trim();
             con = con.replace(/[\s]+/ig,fn);
             //var len = con.replace(/(<([^>]+)>)/ig,"").length;
             var words = count+1;
             count = 0;
             if(words <=100){
                $('.storyError').text('An artical has to have at least 100 words!');
             }else{
                $('.storyError').text(' ');
             }

          });
      });
    }

或者让所有内容都在一行中使用这个(但它不会过滤掉多余的空格):

var words = con.trim().split(/\s+/).length;

关于javascript - 验证字数统计 tinymce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17127007/

相关文章:

jquery - 如何获取 jQuery 对象的大小

javascript - 如何将 tinymce 4.x 动态添加到 textarea?

javascript - jquery - 检查之前或之后是否有禁用元素

javascript - 绝对网址无法在 react 中放在点运算符之前

javascript - 使用 Webgl 时 Firefox "This operation requires zeroing texture data"警告

javascript - 谷歌地图标记不起作用

php - 长轮询锁定其他 AJAX 调用

javascript - 使用单个快捷方式将字体大小从 `10px` 更改为 `14px` 到 `18px`

tinymce - 如何同时保存富文本和纯文本版本

javascript - 在 Laravel Blade 中循环并显示图像,更改旧的 Angular 代码