用javascript计算回车

时间:2013-07-28 22:04:29

标签: javascript

我正在运行以下代码来设置textarea中字符的限制:

(function($){ 
 $.fn.extend({  
     limit: function(limit,element) {

        var interval, f;
        var self = $(this);

        $(this).focus(function(){
            interval = window.setInterval(substring,100);
        });

        $(this).blur(function(){
            clearInterval(interval);
            substring();
        });

        substringFunction = "function substring(){ var val = $(self).val();var length = val.length + carriages;if(length > limit){$(self).val($(self).val().substring(0,limit));}";
        if(typeof element != 'undefined')
            substringFunction += "if($(element).html() != limit-length){$(element).html((limit-length<=0)?'0':limit-length);}"

        substringFunction += "}";

        eval(substringFunction);



        substring();

    } 
}); 
})(jQuery);

我的用户输入文本的区域最多可以容纳1500个字符。问题是它最多只能容纳10行。如果在输入回车符之前在一行中输入25个字符,则字符总数必须为150而不是26。

我该如何做到这一点?

2 个答案:

答案 0 :(得分:6)

var string = "foo\nbar\nbaz";
console.log(string);
// foo
// bar
// baz

var lines = string.split(/\n/).length;

只需按每个新行拆分字符串,然后查看您有多少行。

答案 1 :(得分:0)

使用正则表达式的另一种解决方案始终非常有效。请注意,此解决方案计算的是修整车,而不是行

const string = "foo\nbar\nbaz";
const lines = (string.match(/\n/g) || []).length;
console.log(lines);