Ver Mensaje Individual
  #10 (permalink)  
Antiguo 27/10/2014, 13:31
Avatar de rodrypaladin
rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 7 meses
Puntos: 468
Respuesta: Contar cantidad de oraciones y parrafos en textarea

Aprovecho el hilo para un aspecto que está directamente relacionado:

Intento contar las palabras y caracteres y los muestro, eso lo he conseguido.

Ahora intento aplicar las excepciones, como ya comenté anteriormente:

espacios al empezar la linea, espacios al terminar la linea, y espacios dobles triples o suepriores.. pero eso no lo consigo. pero se ve que no las aplica, pego mi código:

Código Javascript:
Ver original
  1. <html>
  2.     <head>
  3.     <script type="text/javascript">
  4.         function mostrar() {
  5.             //cogemos el texto del textarea
  6.             var texto = document.getElementById("area").value;
  7.             //contamos sus caracteres
  8.             var caracteres = texto.length;
  9.             //dividimos el texto a una array con el separador ESPACIO
  10.             var textoDividido = texto.split(" ");
  11.             //contamos los elementos separados, en este caso palabras
  12.             var palabras = textoDividido.length;
  13.             //insertamos html en las etiquetas carac y palabras
  14.             document.getElementById("carac").innerHTML = caracteres;
  15.             document.getElementById("palabras").innerHTML = palabras;
  16.             /* Ahora tenemos que poner excepciones, como pro ejemplo espacios delante y detrás del texto, o espacios dobles, triples o superiores. */
  17.             primerBlanco = /^[ ]+/;
  18.             ultimoBlanco = / $/;
  19.             variosBlancos = /[ ]+/g;
  20.             //Ahora aplicamos las excepciones;
  21.             texto = texto.replace(variosBlanco," ");
  22.             texto = texto.replace(primerBlanco, "");
  23.             texto = texto.replace(ultimoBlanco, "");
  24.             var textoTroceado = texto.split(texto, " ");
  25.             palabras = textoTroceado.length;
  26.         }
  27.     </script>
  28.     </head>
  29.     <body>
  30.         <form>
  31.         <textarea id="area" onkeyup="mostrar();"></textarea><br/>
  32.         Caracteres:<p id="carac">0</p>
  33.         Palabras:<p id="palabras">0</p>
  34.         </form>
  35.     </body>
  36. </html>

He intentado poner los getElementById("id")inner.HTML = id debajo de los replace, pero en ese caso directamente no muestra los caracteres o palabras, los deja a 0

Un saludo y mil gracias de nuevo.
__________________
No te olvides de dar +1 a quien te echa un cable ;)