я обычно делаю так, очень простой вариант.
код js
function proverka(input) {
input.value = input.value.replace(/[^\d]/g, '');
};
пример использования
<input type="text" name="summa" value="" size="40" onkeyup="return proverka(this);" onchange="return proverka(this);">