<input type="text" maxLength="10" onkeydown="if(event.keyCode>57 || event.keyCode<48) {alert('只能输入数字');return false}"/>

解决方案 »

  1.   

    用onkeydown可能不好.
    比如,当按shift或左右键的时候它都会报警,并且还需要加粘贴事(onpaste="..."),而且还没办法防止来自其它页面的拖拽事件.
    不如用onchange
      

  2.   

    <script language=javascript>
    function isNumber(str)
    {
    return str.match(/\D/)==null
    }
    function test()
    {
    if(isNumber(qq.value)==false)alert("请输入数字!");
    }
    </script>
    <input type="text" maxLength="10" name=qq>
    <input type="button" name=aa value=test onclick="test()">
      

  3.   

    <input type="text" maxLength="10" onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}" >
      

  4.   

    <input type="text" onchange="if(isNaN(this.value))this.document.execCommand('Undo');"/>