... codice un pò più "preciso", relativamente al bug segnalato da buburp:

<script language="JavaScript">
<!--
function ContaWrd(campo)
{
errori=0;
arrayparole=campo.value.split(" ");
for (i=0; i<arrayparole.length; i++)
if (((arrayparole[i].indexOf('.')<arrayparole[i].length-1) && (arrayparole[i].indexOf('.')>-1)) || ((arrayparole[i].indexOf(',')<arrayparole[i].length-1) && (arrayparole[i].indexOf(',')>-1))) errori++;
errori+=arrayparole.length;
alert("La textarea presenta "+errori+" parole.");
}
-->
</script>

In pratica, nel caso si abbiano parole del tipo "Ciao,come", lo script aumenta di un'unità il contatore di errori, il cui valore sarà poi sommato alla lunghezza dell'array arrayparole.

Sicuramente si può rendere il codice più pulito e efficiente (magari potrebbero essere scarti i vari ! o ? distanziati rispetto alla parola che seguono), ma comunque credo che la funzione sia una buona base per "smanettarci" un pò su e ricavare qualcosa di meglio.

Un saluto !