Source-Code

/**
 * jQuery counter plugin
 *
 *
 * @name jquery-counter-1.0.js
 * @author Rocco Wernicke - http://r-wernicke.de
 * @version 1.0
 * @date November 02, 2014
 * @category jQuery plugin
 * @copyright (c) 2014 Rocco Wernicke
 */

// Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias
(function ($) {
  /**
   * $ is an alias to jQuery object
   **/
  $.fn.counter = function (options) {

    var settings = $.extend({
      max: 80,
      name: 'sTest',
      color: 'red',
      errMsg: ''
    }, options);

    var input = $('input[name="' + settings.name + '"]');

    var spanErr = $('').appendTo($(this));

    var spanCounter = $('').appendTo($(this));
    
    spanErr.css("color", settings.color);

    spanErr.hide().text(settings.errMsg = 'Es sind max: ' + settings.max + ' Zeichen erlaubt.');


    input.focus(function () 
    {

      input.keyup(function () 
      {
        spanCounter.text(input.val().length);
        
        if(input.val().length > settings.max)
        {
          spanErr.show();
          spanCounter.hide();
        }
        if(input.val().length <= settings.max)
        {
          spanCounter.show().text(input.val().length);
          spanErr.hide();      
        }
        if(input.val() == "")
        {
          spanCounter.hide();
          spanErr.hide();
        }
      });

    });

   input.focusout(function()
   {
     spanCounter.remove();
     spanErr.remove();
   });


  }
})(jQuery);