类似新浪微博输入字符计数的效果

var app = {
    //获取字符长度
    getLength: function (str) {
        var length = 0;
        if ( !! str) {
            var excStr = str.replace(/[\u4E00-\u9FFF]+/, "");
            var chinaLength = str.length - excStr.length;
            length = chinaLength + str.length;
        }
        return length;
    },
    //验证字符是否超过最大长度
    checkMaxLength: function (doc) {
 
        var maxLength = parseInt(doc.attr("data-maxlength")); //这个属性的值是可以输入的最大值
        var currentLength = app.getLength(doc.val());
        var tips = doc.siblings('span.wordLimit'); //显示字数的span
 
        if (currentLength > maxLength) {
            tips.text(currentLength + "/" + maxLength).css("color", "red");
            doc.text();
            return false;
        } else {
            tips.text(currentLength + "/" + maxLength).css("color", "#999");
            return true;
        }
    },
 
    init: function () {
        $('textarea[data-maxlength]').keyup(function () {
            app.checkMaxLength($(this))
        });
    }
};
 
app.init();

 如果需要用的话,给输入字符的textarea一个data-maxlength的属性,修改下显示计算字符的标签就可以了

posted @ 2015-11-03 10:32  Mu薇  阅读(391)  评论(0编辑  收藏  举报