Adicionar método de truncar texto em javascript a classe String

O Danilo (do Tidbits) aproveitou a idéia do Igor em fazer um truncate de strings no PHP e fez uma função no javascript para isso – você passa a string e o limite de caracteres, se o tamanho dela for maior do que esse limite, ela corta e coloca três pontos no final.

Resolvi usar essa função do Daniel para adicionar um método de truncar ao objeto String do javascript. Com isso, ao invés de chamar a função passando o texto e o limite de caracteres, é só chamar o método passando o limite:

minhaString.truncar(limite);

Vamos à implementação, já com o exemplo de uso:

<html>
<head>
    <title>Truncar – javascript</title>
    <script type="text/javascript">
        /*
        adaptação da função truncar() feita pelo Danilo do Tidbits,
        adicionando-a a classe String
        Função original: http://www.tidbits.com.br/truncar-texto-em-javascript-abreviar-sem-cortar-palavras
        */
        String.prototype.truncar = function(limite){
            if(!limite)
                throw "Limite não informado";
            if(this.toString().length>limite){
                limite–;
                last = texto.substr(limite-1,1);
                while(last!=" " && limite > 0){
                    limite–;
                    last = texto.substr(limite-1,1);
                }
                last = texto.substr(limite-2,1);
                if(last == "," || last == ";"  || last == ":"){
                     texto = texto.substr(0,limite-2) + "…";
                } else if(last == "." || last == "?" || last == "!"){
                     texto = texto.substr(0,limite-1);
                } else {
                     texto = texto.substr(0,limite-1) + "…";
                }
            }
            return texto;
        }


        var texto = "Meu texto";
        alert(texto.truncar(5));

    </script>
<body>
   
</body>
</head>
</html>

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *