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

Rispondi quotando