Ciao, bisognerebbe piuttosto fare un replace di tutte le cifre non numeriche. Una cosa tipo:

codice:
valore.replace(/[^\d]+/g, '');
Questo potrebbe essere fatto sul valore stesso, cioè quello restituito dal lettore, prima che sia inserito nel campo, oppure sul value del campo, una volta che è stato inserito.

Nell'ultimo caso potresti avere una cosa del genere:
codice:
field.value = field.value.replace(/[^\d]+/g, '');
Non so dirti dove tu possa eseguire questa correzione, dal momento che non è chiaro come avvenga la lettura del codice e la gestione del valore che viene inserito nel campo. Suppongo ci sia un qualche evento di ricezione del valore o una qualche funzione di inserimento nel campo, per cui la correzione del valore potrebbe andare lì.