<script language="JavaScript" type="text/javascript">
    function clearNoNum(obj) {
        obj.value = obj.value.replace(/[^\d.]/g, "");
        obj.value = obj.value.replace(/^\./g, "");
        obj.value = obj.value.replace(/\.{2,}/g, ".");
        obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
    }
</script> <A:TextBoxControl ID="txtDurationTime" runat="server" Width="95" onKeyUp="clearNoNum(this)"
                    onBlur="value=value.replace(/[^\d\.]/g,'')" />这个已经可以限制输入的是整数和小数了,但是不能限制小数点后的位数。
求高手帮忙改下,使小数点后只能输入两位小数。

解决方案 »

  1.   

    var record = {
    num : ""
    }
    var checkDecimal = function(n) {
    var decimalReg = /^\d{0,8}\.{0,1}(\d{1,2})?$/;
    if (n.value != "" && decimalReg.test(n.value)) {
    record.num = n.value;
    } else {
    if (n.value != "") {
    n.value = record.num;
    }
    }
    }
      

  2.   

    说实在的,我也看不懂这些。改的话,希望是对clearNoNum内的正则表达式进行一些修改。
    当然如果有其他的方法也行,但是请把详细代码贴一下,不然我估计很可能看不懂……
      

  3.   

    我贴的已经是完整的代码了呀 复制过去就能用的 用法 onkeyup='checkDecimal(this)'