Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Duvida expressao regular

Quando eu digito no meu campo, ele so conta uma frase quando eu dou o espaco, ou seja se eu digitar "essa frase" ele vai contar apenas como 1 no meu contador.

Ok, eu sei que se eu tirar o "-1" do meu length resolveria isso, entretanto surgeria outro problema, caso eu desse um espaco depois da ultima frase ele ira contar, mesmo que eu nao digite nada Exemplo: com o "- 1" no lenght: "essa frase"

1 palavra

sem o "-1" no lenght: "essa frase " <-- dei um espaco proposital depois da frase.

3 palavras

como posso resolver isso?

var frase = $(".frase").text();
var numeropalavras = frase.split(" ").length;

var tamanhofrase = $("#tamanho-frase");
tamanhofrase.text(numeropalavras); 

var campo = $(".campo-digitacao");

campo.on("input", function(){
    var conteudo = campo.val();

    var qtdpalvras = conteudo.split(/\s+/).length - 1;
    $("#conta-palavras").text(qtdpalvras);


    var qtdcaracteres = conteudo.length;
    $("#conta-caracteres").text(qtdcaracteres);

})
3 respostas
solução!

Fala ai Jose, tudo bem? Você pode tentar fazer um trim() antes de fazer o split.

Ele vai remover os espaços em brancos do inicio e fim da string:

var qtdpalvras = conteudo.trim().split(/\s+/).length - 1;

Espero ter ajudado.

Opa, obrigado, ajudou sim

Magina Jose, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.