<input type="text" name="lettere" onkeyup="if(this.value.match(/[^a-zA-Z]/)this.value='';">


<input type="text" name="numeri" onkeyup="if(this.value.match(/[^\d]/)this.value='';">

Questo annulla tutta la stringa se trova un carattere "sbagliato": si puo` fare quacosa di piu` intelligente, se serve.