Per controllare se è un intero:

if (valore==parseInt(valore)) {....}

Per controllare se è un carattere:

if (isNaN(valore)) {....}


parseInt() è un metodo integrato di JavaScript che controlla la parte intera di un valore (sia esso numero o stringa).
Ovviamente, se la parte intera del valore coincide con il valore stesso, quel valore è numerico e intero.

isNaN (is not a number) controlla che l'argomento che gli passi non sia un numero (e quindi sia implicitamente un carattare).

PS: tieni presente che TUTTI i dati inseriti in campi di input come text e textarea sono sempre considerati originariamente delle stringhe, anche se sono numerici! Poi cmq ci pensa JavaScript a fare la conversione implicita dei tipi di dato. Il metodo parseInt() per es., se riceve come argomento una stringa, tenta di convertirla in un numero a partire dal primo carattere. Ovviamente, se incontra un carattere che non è un numero, si ferma e non tenta di convertire i caratteri successivi.