La forma más sencilla de contar las palabras que existen en un texto es utilizar los espacios que este contiene.
Debemos de tener algunas cosas en cuenta a la hora de hacer esto:
- Que no tenga varios espacios seguidos.
- Que no tenga un espacio al principio o al final.
- Si existen saltos de linea debemos de contarlos o reemplazarlos por espacios.
Sabiendo todo esto vamos a crear un función JavaScript con la cual vamos a obtener las palabras que tiene un campo textarea de un formulario.
Os pongo la función a continuación y os explico con comentarios lo que hacemos paso a paso:
<script> function contar_palabras(){ //Obtenemos el texto del campo var texto = document.getElementById("contar_palabras").value; //Reemplazamos los saltos de linea por espacios texto = texto.replace (/\r?\n/g," "); //Reemplazamos los espacios seguidos por uno solo texto = texto.replace (/[ ]+/g," "); //Quitarmos los espacios del principio y del final texto = texto.replace (/^ /,""); texto = texto.replace (/ $/,""); //Troceamos el texto por los espacios var textoTroceado = texto.split (" "); //Contamos todos los trozos de cadenas que existen var numeroPalabras = textoTroceado.length; //Mostramos el número de palabras alert(numeroPalabras); } //Llamamos a la función para que cuente las palabras contar_palabras(); </script> |
Espero que os sirva.
Un saludo.
Buenas tardes
Espectacular, me sirvió para resolver un ejercicio en EsJS.
Muchas gracias por el ejemplo está clarisimo.
Saludos
Muchisimas gracias. Me ha sido muy util esta información para un desarrollo.
Saludos y bendiciones.
buena, gracias!
Muchas gracias por el aporte, me ahorraste un par de horas de análisis.
Saludos.
Te rifaste amigo, utilize tu funcion para un proyecto gracias por tu aporte
Me alegro que te haya servido. Un saludo