sei stanco oronze
non hai fatto una Regular Expression... hai fatto una stringa che rappresenza una Regular Expression

x pireda
esattamente come dici tu le RegularExpression in questi casi ci stanno a palla!
Ti faccio un doppio esempio
codice:
<HTML>
<HEAD>
<script language="javascript">
  re=/[\\\/\?\*"<>!]/g   
</script>
</HEAD>
<BODY>
<form onsubmit="if(re.test(this.NomeText.value)){alert('ci sono caratteri non permessi');return false}else{return true}">
qui i caratteri \ / ? * " < > ! sono accettati ma se li metti non faccio il submit
<input type="text" name="NomeText">

qui i caratteri \ / ? * " < > ! non sono accettati... prova pure a scriverli
<input type="text" name="NomeText2" onkeyup="this.value=this.value.replace(re,'')" onchange="this.value=this.value.replace(re,'')">
<input type="submit" value="submit">
</form>
</BODY>
</HTML>
se servono spiegazioni o chiarimenti chiedi pure