input输入框限制只能输入数字如何弄

input输入框限制只能输入数字怎么弄?
我之前是在onkeyup那里写正则,把不是数字的替换成空串..
但是这个有个问题就是,效果不是很好,就是你要输入一个字符,然后这个字符看起来就是突然消失的,这个效果不好。
我想要的效果是不是数字的,连输入都不给输入,而不是输入后用空串代替

就想easyui-nunberbox一样,这个效果怎么弄
------解决思路----------------------

<input type="text" id="txt" />
<script type="text/javascript">
document.getElementById("txt").onkeydown = function(e)
{
e = e 
------解决思路----------------------
 window.event;
var k = e.keyCode 
------解决思路----------------------
 e.which 
------解决思路----------------------
 e.charCode;
return !!(k>=48 && k<=57 
------解决思路----------------------
 k>=96 && k<=105 
------解决思路----------------------
 k==8 
------解决思路----------------------
 k==46 
------解决思路----------------------
 k==37 
------解决思路----------------------
 k==39);
}
</script>