$(document).ready(function() { $(".checkLimit").keyup(function(){checkLimitChar($(this).attr('id'));}); }) function checkLimitChar(id) { // title = $(this).attr('title'); stringVal = $('#'+id).val(); var limit = parseInt($('#'+id).attr('maxlength')); if(stringVal.length > limit) { $('#'+id).val(stringVal.substr(0, limit)); $("#errorMessage").html("You've reached to "+limit+" Characters."); $("#errorMessage").css("color","red"); } else { $("#errorMessage").css("color",""); $("#errorMessage").html(limit-$('#'+id).val().length + " character(s) left"); } var offset = $('#'+id).position(); $('#errorMessage').css({ top: offset.top-$('#errorMessage').height()-11, left: offset.left+370});//, left: offset.left+(($('#errorMessage').width())/2) } function checkLimitWords(id) { stringVal = $('#'+id).val(); var words = $('#'+id).val().match(/\S+/g).length; var limit = parseInt($('#'+id).attr('maxlengthWords')); if (words > limit) { // Split the string on first X words and rejoin on spaces var trimmed = $('#'+id).val().split(/\s+/, limit).join(" "); // Add a space at the end to make sure more typing creates new words $('#'+id).val(trimmed + " "); $("#errorMessage").html("You've reached to "+limit+" words."); $("#errorMessage").css("color","red"); } else { $("#errorMessage").css("color",""); $("#errorMessage").html(limit-words + " word(s) left"); } var offset = $('#'+id).position(); $('#errorMessage').css({ top: offset.top-$('#errorMessage').height()-11, left: offset.left+370});//, left: offset.left+(($('#errorMessage').width())/2) }