jQuery控制页面上多个text只能输入数字和小数点(支持动态添加的text)

44 篇文章 0 订阅

如果页面上的 一个 text控件需要 输入数字的限制,可以这样写:

<input type="text" onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" > 

如果需要限制输入的 text控件 非常多个,那每个text都需要↑↑↑上面这样写(其实也可以^^),但html就显得非常啰嗦,不够简洁....

少废话直接上代码...↓↓↓


jQuery代码:

<script>
    $(function () {
        //只能输入数字
        $(".intOnly").keyup(function () {//键盘keyup事件
            var value = $(this).val();//当前text对象,的值
            $(this).val(value.replace(/[^\d]/g, ''));
        });

        //只能输入数字和小数点和2位小数
        $(".decOnly").keyup(function () {//键盘keyup事件
            var value = $(this).val();//当前text对象,的值
            $(this).val(value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1'));
        });
    });
</script>

*注: 如果text控件,是jQuery动态添加的,↑↑↑上面的方法会失效,请这样写(推荐):

<script>
    $(function () {
        //让jQuery动态添加的text的事件:
        $("body").on("keyup", ".intOnly", function () {
            var value = $(this).val();//当前text对象,的值
            $(this).val(value.replace(/[^\d]/g, ''));//只能输入数字
        });
        $("body").on("keyup", ".decOnly", function () {
            var value = $(this).val();//当前text对象,的值
            $(this).val(value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1'));
        });
    });
</script>

html代码(不是每个text都需要输入数字的限制):

<table border='1'>
    <tbody id="myTb">
                <tr>
                    <td><input type="text" name="Month" readonly="readonly" onclick="WdatePicker({dateFmt:'yyyy-MM'})" /></td>

                    <td><input type="text" name="BigCategory" /></td>
                    <td><input type="text" name="Brand" /></td>
                    <td><input type="text" name="ProductClass" /></td>
                    <td><input type="text" name="ProductName" /></td>
                    <td><input type="text" name="ProductCode" /></td>

                    <td><input type="text" name="PLAN_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="PLAN_UnitPrice" class="decOnly" /></td>
                    <td><input type="text" name="PLAN_AMOUNT" class="decOnly" /></td>

                    <td><input type="text" name="SalesTarget_W1" class="decOnly" /></td>
                    <td><input type="text" name="SalesTarget_W2" class="decOnly" /></td>
                    <td><input type="text" name="SalesTarget_W3" class="decOnly" /></td>
                    <td><input type="text" name="SalesTarget_W4" class="decOnly" /></td>
                    <td><input type="text" name="SalesTarget_W5" class="decOnly" /></td>
                    <td><input type="text" name="SalesTarget_W6" class="decOnly" /></td>

                    <td><input type="text" name="JF_W1_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="JF_W1_AMOUNT" class="decOnly" /></td>
                    <td><input type="text" name="JF_W2_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="JF_W2_AMOUNT" class="decOnly" /></td>
                    <td><input type="text" name="JF_W3_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="JF_W3_AMOUNT" class="decOnly" /></td>
                    <td><input type="text" name="JF_W4_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="JF_W4_AMOUNT" class="decOnly" /></td>
                    <td><input type="text" name="JF_W5_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="JF_W5_AMOUNT" class="decOnly" /></td>
                    <td><input type="text" name="JF_W6_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="JF_W6_AMOUNT" class="decOnly" /></td>

                    <td><input type="text" name="OTHER_W1_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="OTHER_W1_AMOUNT" class="decOnly" /></td>
                    <td><input type="text" name="OTHER_W2_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="OTHER_W2_AMOUNT" class="decOnly" /></td>
                    <td><input type="text" name="OTHER_W3_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="OTHER_W3_AMOUNT" class="decOnly" /></td>
                    <td><input type="text" name="OTHER_W4_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="OTHER_W4_AMOUNT" class="decOnly" /></td>
                    <td><input type="text" name="OTHER_W5_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="OTHER_W5_AMOUNT" class="decOnly" /></td>
                    <td><input type="text" name="OTHER_W6_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="OTHER_W6_AMOUNT" class="decOnly" /></td>

                    <td><input type="text" name="TransportationInventory" class="intOnly" /></td>
                    <td><input type="text" name="Expect_QUANTITY" class="intOnly" /></td>
                    <td><input type="text" name="PurchaseReason" /></td>
                    <td><input type="text" name="SalesPlan" /></td>

                    <td style='text-align:center'>
                        <input type="button" value="+" style="width:50px" onclick="AddRow()" class="btnClass" />
                    </td>
                </tr>
    </tbody>
</table>

*注: 需要控制数字输入的,添加  class="intOnly" 或 class="decOnly"即可


其他常用的输入数字限制:

只允许输入数字(整数:小数点不能输入)
<input type="text" onkeyup="value=value.replace(/[^\d]/g,'')" > 
允许输入小数(两位小数)
<input type="text" onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" > 
允许输入小数(一位小数)
<input type="text" onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,1})?).*$/g, '$1')" > 
开头不能为0,且不能输入小数
<input type="text" onkeyup="value=value.replace(/[^\d]/g,'').replace(/^0{1,}/g,'')" >

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值