限制输入框只能输入数字和小数点

引言

        最近正在完善组织部附加分的功能,我们的代码不可能一步写到位,都是一点一点完善的。现在来和大家分享一下怎么限制输入框只能输入正整数和小数的知识吧……    

知识

        我使用的是正则表达式:  首先获取到文本框中的值,然后通过正则表达式进行判断即可。


<span style="font-size:18px;"> //判断奖惩得分是否为正整数和小数
    var s = $("#rewardScore").val();
    var a = "";   
    var reg = new RegExp("^[0-9]+([.]{1}[0-9]+){0,1}$");
    if (s != "") {
        if (!reg.test(s)) {
            $.messager.alert('提示消息', '奖惩分数请输入数字!', 'warning');
            document.getElementById("rewardScore").value = "";
        }
    }</span>


        以上代码中使用RegExp对象。RegExp对象表示正则表达式,是对字符窜执行模式匹配的强大工具。在这里我们使用了RegExp对象的test方法,用来检测文本框中的输入值是否和规定正则表达式对象匹配。

        由于我的是添加页面,可以全部输入完毕之后,点击确定再去判断。如果想要实时的对输入的内容进行判断,可以通过在页面上面加入以下代码即可。


<span style="font-size:18px;"> <p>
        奖惩分数:
       <input class="easyui-validatebox" required="true" missingmessage="奖惩分数不能为空" id="rewardScore" name="rewardScore" οnkeyup="value=value.replace(/[^[0-9]+([.]{1}[0-9]+){0,1}$)" />
</p></span>


总结

       所有的功能都不是一下就能做好或者是敲定的,我们需要一步步的去完善,把自己当成一个用户,站在用户的角度思考这些功能,我们就能做出更全心全意为人民服务的软件。在解决问题的道路上,可能查了半天这个方法都行不通,但是我们不能气馁,走不通只能证明这个问题,你研究可能还不够,要相信方法总比问题多!



可以使用JavaScript来实现elul输入框只能输入数字小数点的功能,具体实现方法如下所示: ```javascript // 获取elul输入框元素 var elulInput = document.getElementById("elul-input"); // 给elul输入框绑定onkeydown事件 elulInput.onkeydown = function(event) { // 获取当前按下的键的keyCode var keyCode = event.keyCode; // 允许数字键、小数点键、删除键、退格键以及左右方向键 if ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 96 && keyCode <= 105) || keyCode == 190 || keyCode == 110 || keyCode == 8 || keyCode == 46 || keyCode == 37 || keyCode == 39) { return true; } else { return false; } }; // 给elul输入框绑定onkeyup事件 elulInput.onkeyup = function(event) { // 获取elul输入框的值 var value = elulInput.value; // 将非数字小数点的字符替换为空字符串 value = value.replace(/[^\d\.]/g, ""); // 将多余的小数点替换为空字符串 value = value.replace(/\.{2,}/g, "."); // 将小数点前面的多余的0去掉 value = value.replace(/^0+(\d+)/g, "$1"); // 将小数点后面的多余的0去掉 value = value.replace(/(\.\d+?)0+$/g, "$1"); // 将elul输入框的值设置为处理后的值 elulInput.value = value; }; ``` 在上述代码中,我们首先获取了elul输入框的元素,然后给它绑定了onkeydown和onkeyup事件。在onkeydown事件中,我们判断了当前按下的键是否是数字键、小数点键、删除键、退格键以及左右方向键,如果是则返回true,否则返回false,这样就可以限制elul输入框只能输入数字小数点了。在onkeyup事件中,我们获取了elul输入框的值,然后使用正则表达式将非数字小数点的字符替换为空字符串,将多余的小数点替换为空字符串,将小数点前面的多余的0去掉,将小数点后面的多余的0去掉,最后将elul输入框的值设置为处理后的值,这样就可以保证elul输入框中的数字小数点的格式是正确的。
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值