You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery如何限制输入框仅支持数字、单个小数点且最多两位小数

输入框限制输入规则实现方案

最终可运行代码

JS 逻辑

$('input').on('input', function() {
    const $input = $(this);
    let val = $input.val();
    // 过滤所有非数字、非小数点的非法字符
    val = val.replace(/[^0-9.]/g, '');
    const firstDotPos = val.indexOf('.');
    if (firstDotPos !== -1) {
        // 限制小数点后最多两位
        val = val.slice(0, firstDotPos + 3);
        // 移除后续出现的所有多余小数点
        val = val.slice(0, firstDotPos + 1) + val.slice(firstDotPos + 1).replace(/\./g, '');
    }
    $input.val(val);
});

完整HTML示例

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" />

实现逻辑说明

  • 优先过滤所有非数字、非小数点的字符,从源头拦截非法输入
  • 定位第一个小数点的位置,直接截断小数点后超出两位的内容,满足最多两位小数的要求
  • 移除第一个小数点之后出现的所有多余小数点,保证全局只有一个小数点
  • 用input事件替代原有的keyup事件,输入实时生效,不会出现按键按住不松时延迟校验的问题

内容的提问来源于stack exchange,提问作者user13286

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:36:03