Ciao willybit
contare le parole splittando sugli spazzi o altri caratteri, secondo me, non è il metodo migliore.
Pensa ad esempio se ci fossero spazzi all'inizio e alla fine
Alla storia degli spazi in realtà ci avevo già pensato (in realtà non avevo pensato agli spazi ad inizio frase perchè non è mia abitudine farlo) ma ai doppi spazi tra le parole, cosa che può capitare per via delle tastiere.
Per questo motivo, non mi sono accontentato di applicare pappagallescamente il tuo primo suggerimento
codice:
document.theform.parole.value = formtext.split(/\s+/g).length;
Ma usando la tua validissima regex ho prima splittato la frase e poi controllato l'esistenza di eventuali sottostringhe vuote:
codice:
var formtext=document.theform.text.value;
var righe=formtext.split(/\s+/g);
var somma=0;
for(i=0;i<righe.length;i++) {
if (righe[i] != "") {
somma++;
}
}
document.theform.parole.value= somma;
Solo alla fine eseguivo la stampa del numero.
Invece non avevo pensato a quel tipo di punteggiatura.
Per questo il tuo secondo suggerimento è molto più valido dello split.
Questa volta però l'ho copiato paro paro.
Questo perchè non capisco il senso dei caratteri contenuti nella regex che ho lasciato come li hai messi: "wàèéìòù@-".
Non so se considerarli simboli o caratteri veri
Ciao e grazie ancora