<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"
>

解决方案 »

  1.   

    <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"
    >
      

  2.   

    //函数名:fucCheckNUM
    //功能介绍:检查是否为数字
    //参数说明:要检查的数字
    //返回值:1为是数字,0为不是数字
    function fucCheckNUM(NUM)
    {
     var i,j,strTemp;
     strTemp="0123456789";
     if ( NUM.length== 0)
      return 0
     for (i=0;i<NUM.length;i++)
     {
      j=strTemp.indexOf(NUM.charAt(i)); 
      if (j==-1)
      {
      //说明有字符不是数字
       return 0;
      }
     }
     //说明是数字
     return 1;
    }
      

  3.   

    function isdigit(s)
    {
        var patrn=/^[0-9]{1,60}$/;
        if(!patrn.exec(s)) return false
        return true
    }
    这个是最大60位的数字  你需要多少位的自己改吧
      

  4.   

    返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。isNaN(numValue)
    必选项 numvalue 参数为要检查是否为 NAN 的值。说明
    如果值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false 。使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的返回值。还有一种办法,变量可以与它自身进行比较。如果比较的结果不等,那么它就是 NaN 。这是因为 NaN 是唯一与自身不等的值。
      

  5.   

    <input type=text onClick="sefuncCheck(this)">
    function sefuncCheck(obj){
    var par_val = obj.value;
    for(i=0; i<par_val.length; i++){
    if (par_val.substring(i, i+1)>="0" && par_val.substring(i, i+1)<="9")
    continue;
    } else {
    alert("只能输入数字");
    }
    }
    }
    应该就可以搞定了