<script>
function check_symbol(event) {
event= event || window.event;
if ((event.keyCode > 57 || event.keyCode <48) && (event.keyCode<35 || event.keyCode>39) && event.keyCode!=8)
return false;
}
</script>
<input onkeydown="return check_symbol(event)">
А ваш вариант не позволит мне стирать введённые цифры и перемещаться по ним стрелками.