Limitar caracteres en textarea con javascript

Esta función limitara y bloqueara automáticamente la escritura dentro de un textarea.
Primero pondremos dentro del body el textarea mas un etiqueta span con un id.

<textarea
	id="texto"
    name="texto"
    onkeypress=" return limita(this, event,100)"
    onkeyup="cuenta(this, event,100,'contador')" >
</textarea>
<span id="contador"></span>

Ahora estas funciones se encargaran de limitar la escritura y actualizar el span con el numero de caracteres faltantes para bloquearse.

function limita(obj,elEvento, maxi)
{
  var elem = obj;

  var evento = elEvento || window.event;
  var cod = evento.charCode || evento.keyCode;

    // 37 izquierda
	// 38 arriba
	// 39 derecha
	// 40 abajo
	// 8  backspace
	// 46 suprimir

  if(cod == 37 || cod == 38 || cod == 39
  || cod == 40 || cod == 8 || cod == 46)
  {
	return true;
  }

  if(elem.value.length < maxi )
  {
    return true;
  }

  return false;
}

function cuenta(obj,evento,maxi,div)
{
	var elem = obj.value;
	var info = document.getElementById(div);

	info.innerHTML = maxi-elem.length;
}

Recursos

También te puede interesar

5 Comments

  1. mario eduardo
    ago 24, 2009 @ 09:32:44

    esta solucion de limitar caracteres en textarea con javascript esta excelente… felicitaciones…..

  2. fiurer87
    oct 07, 2009 @ 15:28:56

    Yo sugiero usar esta función en Javascript (para limitar cantidad de caracteres), que recibe como parametros: ‘id’ (id de la caja de texto o cualquier componente en el que se pueda escribir) y ‘max’ (cantidad máxima de caracteres).

    Este el código de la funcion:

    function limitarCajaTexto(max, id){
    if(max < document.getElementById(id).value.length )
    document.getElementById(id).value = document.getElementById(id).value.substr(0, max);
    }

    Para aplicar al ejemplo seria de la siguiente manera:

    Limitado a 25 caracteres

    Espero les sirva.

  3. Enrique Reyes
    ene 11, 2010 @ 15:03:43

    Muy bueno, exactamente lo que buscaba…

  4. MANCHESTER
    may 03, 2010 @ 01:37:11

    CODIKAZO CARNAL, DE LUJO

  5. erik
    jul 13, 2011 @ 15:12:29

    Pero si doy clic derecho pegar y pego un texto mayor si se pega…. como se resuelve