javascript - 如何避免将双空格算作单词?

标签 javascript jquery jquery-ui

$(document).ready(function() {

    $("[class^='count[']").each(function() {

        var elClass = $(this).attr('class');
        var minWords = 0;
        var maxWords = 0;
        var countControl = elClass.substring((elClass.indexOf('['))+1, elClass.lastIndexOf(']')).split(',');

        if(countControl.length > 1) {

            minWords = countControl[0];
            maxWords = countControl[1];

        } 

        else { maxWords = countControl[0]; }



        $(this).after('<div class="wordCount"><strong>0</strong> words so far</div>');

            if(minWords > 0) {
                                $(this).siblings('.wordCount').addClass('error');
                             }

        $(this).bind('keyup click blur focus change paste', function() {

            var numWords = jQuery.trim($(this).val()).split(' ').length;
                if($(this).val() === '') {
                        numWords = 0;
                    }

        $(this).siblings('.wordCount').children('strong').text(numWords);
            if(numWords < minWords || (numWords > maxWords && maxWords != 0)) {
                $(this).siblings('.wordCount').addClass('error');
                } 
                else {
                    $(this).siblings('.wordCount').removeClass('error');
                }

        });
    });
});

这个脚本基本上计算单词之间的空格,但如果添加额外的空格,它也会将它们计为新单词...

http://blog.themeforest.net/tutorials/creating-a-jquery-word-counter/

最佳答案

.split() 也接受正则表达式。试试这个:

var numWords = jQuery.trim($(this).val()).split(/\s+/).length;

关于javascript - 如何避免将双空格算作单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9466516/

相关文章:

javascript - JQuery UI 可排序添加元素?

javascript - 如何在qq ajax文件 uploader 中检查条件?

javascript - 使用 AJAX 回复 PHP 脚本 (JSON) 中的数据

javascript - 拖放列表中的第一个元素静态

javascript - WebP 图像替换

javascript - 从使用 jquery 创建的 iframe 调用父函数

Jquery UI According 菜单即使在刷新后也能保存菜单状态

javascript - jQuery函数调用后,shadowbox停止工作

javascript - 在 div 内创建可点击的 div

javascript - 类型错误 : Cannot destructure property 'jobArray' of 'react__WEBPACK_IMPORTED_MODULE_0__.state' as it is undefined