Non ti conviene usare parseInt. Se inserisco tipo "1547utjg" viene comunque considerato come numero.

Io di solito uso:
Javascript:
function PressOnlyNumber()
{
var num = window.event.keyCode;
switch(num)
{
//tastiera principale
case 48: return true;
case 49: return true;
case 50: return true;
case 51: return true;
case 52: return true;
case 53: return true;
case 54: return true;
case 55: return true;
case 56: return true;
case 57: return true;
//tastiera a destra
case 96: return true;
case 97: return true;
case 98: return true;
case 99: return true;
case 100: return true;
case 101: return true;
case 102: return true;
case 103: return true;
case 104: return true;
case 105: return true;
}
}

html
<input type="text" onkeydown="JavaScript: return CheckNumberKeyPressed();">

se vuoi che vengano inseriti anche i numeri negativi, le virgole etc devi aggiungere case allo switch.