日期:2014-05-16  浏览次数:20327 次

正则表达式(判断整数和两位小数)
C# code

<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,'')" />


这个已经可以限制输入的是整数和小数了,但是不能限制小数点后的位数。
求高手帮忙改下,使小数点后只能输入两位小数。

------解决方案--------------------
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;
}
}
}