......这不是我写的那个嘛!
这个只是输入数字的,不能输入小数点.输入浮点数的在下边:
function keyPressFlt(src){
var e=window.event;
code=e.keyCode;
if(code >=48 && code <=57) return true;
else if(code == 46 && src.value.indexOf('.')==-1) return true;
else{  window.event.keyCode=null; return false; }
}
这是只能输入一个小数点儿的,但格式没限制

解决方案 »

  1.   

    <input type=text onkeypress="return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0&&this.value.length>0?event.keyCode==46:false)" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false">
      

  2.   

    <script language="JavaScript">
    <!--
    function keyPressFlt(src){
    var e=window.event;
    code=e.keyCode;
    if(code >=48 && code <=57) return true;
    else if(code == 46 && src.value.indexOf('.')==-1 && src.value!="") return true;
    else{  window.event.keyCode=null; return false; }
    }
    //-->
    </script>
    <input type="text" onkeypress="keyPressFlt(this)" style="text-align:right">这样就不能在第一位输入小数点儿了
      

  3.   

    再次感谢zhaoxiaoyang(梅雪香@hisoft)的帮助,不过我还有最后一个问题(本人是菜鸟,请多包涵):
    如果我要设置限制所有文本框中的小数点之后只允许输入两位小数,而整数位不能超过1,000,000(7位)
    函数应该如何修改?不胜感激!!!
      

  4.   

    阿梅的用ascii码的做法实在是爽啊,小弟学了一手,真是妙趣横生啊:)呵呵
      

  5.   

    <script language="JavaScript">
    <!--
    function keyPressFlt(src){
    var e=window.event;
    code=e.keyCode;
    var txtValue=src.value;
    if(code >=48 && code <=57){
    var arr=txtValue.split(".");
    if(arr.length>1){
    if(arr[1].length<2)
    event.returnValue = true;
    else
    event.returnValue = false;
    }else if(txtValue.length<7) event.returnValue = true;
    else event.returnValue = false;
    }
    else if(code == 46 && src.value.indexOf('.')==-1 && txtValue!=""){
    event.returnValue = true;
    }
    else{  window.event.keyCode=null; event.returnValue = false; }
    }
    //-->
    </script>
    <input type="text" onkeypress="keyPressFlt(this)" style="text-align:right" onPaste="javascript:event.returnValue=false;">
      

  6.   

    这样还是有bug的,当小数点有两位时,无法再在小数点前边输入了
      

  7.   

    对,是这样的;我感觉在KEYPRESS事件中似乎很难实现?必须采用KEYUP事件;但是这样函数就要全部更改了。
      

  8.   

    唉,给分吧,我使用了两个事件keypress和keyup.