ho risolto in questo modo:

<script language="JavaScript">
re=/[\|\\\!\"\£\$\%\&\/\(\)\=\?'\^\*\+\[\]\ç\@\°\#\§\-\_\:\.\;\,]/g

..... altri controlli

</script>

e nel corpo:

<input type="text" name="cognome" style="width:89%" onkeyup="this.value=this.value.replace(re,'');" onchange="this.value=this.value.replace(re,'');">


unica cosa che vorrei aggiungere (ma non è fondamentale) è un alert che dice che sono stati inseriti caratteri non validi