<input type=text onpaste="return false" onkeypress="a()">数字<script language=javascript>
function a()
{
  var k = window.event.keyCode;
  if (k < 48 || k > 57){
     alert("你输入的不是数字!")
     window.event.keyCode = 0 ;}
}
</script>

解决方案 »

  1.   

    不要这样验证,提交时验证,因为鼠标拖曳进去你没有考虑
    <form onsubmit="return c(this)">
    <input name=num><input type=submit>
    </form>
    <script>
    function c(f){
    if(isNaN(f.num.value)|!f.num.value.replace(/\s/g,'')){alert('必须是数字');return false}
    return true
    }
    </script>
      

  2.   

    <input
     onkeypress="var k=event.keyCode; return k>=48&&k<=57"
     onpaste="return !clipboardData.getData('text').match(/\D/)"
     ondragenter="return false" style="ime-mode:Disabled"
    >
      

  3.   

    <input type="text" name="page" value="" size=2 class=f1 onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">