将换行符包含为textarea中maxlength的最佳方法是什么

时间:2018-09-03 05:41:00

标签: javascript jquery html textarea line-breaks

似乎换行符没有被算作textarea中设置的maxlength的一部分,从而导致在发布到数据库时出错。我试图添加这样的验证,但是当用户在textarea中复制粘贴值时,它无法捕获。任何人都可以请教吗?

$("textarea.objective").on("keydown keyup", function(e) {
        var x = $(this).val()
        var newLines = x.match(/(\r\n|\n|\r)/g);
        var addition = 0;
        if (newLines != null) {
            addition = newLines.length;
        }
        var maxLength = parseInt($(this).attr("maxlength")) ;
        if (maxLength <= $(this).val().length + addition
                 && e.keyCode !== 46 
                    && e.keyCode !== 8) {
             e.preventDefault();
            $(this).css('background-color', '#ffe8f3');
        } else {
            $(this).css('background-color', '#fff');
        }
    });

0 个答案:

没有答案