<input type=text
onkeyup="this.value=this.value.replace(/[^\d\.\,\-]/gi,'');"
>
Puoi modificare la lista dei caratteri permessi, richiamare la stessa istruzione anche onblur, mettere l'istruzione in una funzione e richiamare quella... vedi tu.
ciao