Salve, premetto che non capisco niente di espressioni regolari e che (lo so! lo so!) dovrei cominciare a documentarmi... vi sottopongo il mio problema.

ho un campo di testo il cui valore, immesso dall'utente, dovrebbe contenere unicamente caratteri alfanumerici e il segno "_"

Mi prendo il valore di questo campo testo in una variabile (t) e voglio verificare che la mia condizione sia verificata.

Allora creo l'espressione regolare
codice:
re = new RegExp("\\w+");
che da quanto ho capito farebbe al caso mio e poi procedo con un match così

codice:
if (t != t.match(re)) {
  alert("errore");
}
ossia, nella mia ignoranza, credo che debba succedere qualcosa del tipo che se t contiene, ad esempio, un "!" allora

t e t.match(re) dovrebbero essere diverse, ma ciò non accade.
Sono ultra-stra-iper-super convinto che non ho capito niente di espressioni regolari... c'è qualche anima pia che mi può chiarire la faccenda? Ringrazio in anticipo