Eu entendi que o split(/\S+/) não contaria o espaço vazio, entendi mal, ou estou fazendo algo errado? Porque eu escrevo "oi oi oi" o que daria três palavras e 6 caracteres, no entanto me dá 8 caracteres, porque conta cada espaço que dou entre uma palavra e outra.
var frase = $(".frase").text();
var numPalavras = frase.split(" ").length;
var tamanhoFrase = $("#tamanho-frase");
tamanhoFrase.text(numPalavras);
var campo = $(".campo-digitacao");
campo.on("input", function(){
var conteudo = campo.val();
var qtdPalavras = conteudo.split(/\S+/).length - 1;
$("#contador-palavras").text(qtdPalavras);
var qtdCaracteres = conteudo.length;
$("#contador-caracteres").text(qtdCaracteres);
});