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

时间:2022-11-06 00:11:26

引言

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

知识

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


<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" onkeyup="value=value.replace(/[^[0-9]+([.]{1}[0-9]+){0,1}$)" />
</p></span>


总结

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