Max characters in textarea with jquery

All of these answers are a bit odd in that they try to do a little too much. A simpler and visually more pleasing way (because it shows the text quickly being cut off) – and with with less oddities that the previous example (note how it overwrites the final key?) – is to simply cut off the number of characters on keyUp to the number that’s allowed.

var maxchars = 400;

$('body').on('keyup paste', 'textarea', function () {
    $(this).val($(this).val().substring(0, maxchars));
    var tlength = $(this).val().length;
    remain = maxchars - parseInt(tlength);
    $('#remain').text(remain);
});

Note that this then also works for pasting in text, as some of the examples above don’t.

Example here: http://jsfiddle.net/PzESw/5/

Leave a Comment