可以通过监听输入框的输入事件,对输入的值进行处理,只保留1位小数并且如果输入的是整数,则不显示小数点。

以下是一个示例代码:

<input type="text" id="input">

<script>
  const input = document.getElementById('input');

  input.addEventListener('input', (event) => {
    let value = event.target.value;
    // 去除非数字和小数点字符
    value = value.replace(/[^\d\.]/g, '');
    // 只保留一个小数点
    value = value.replace(/\./, '$#$').replace(/\./g, '').replace('$#$', '.');
    // 只保留1位小数
    value = value.replace(/^(\-)*(\d+)\.(\d).*$/, '$1$2.$3');
    // 如果输入的是整数,则不显示小数点
    value = value.replace(/\.0$/, '');
    event.target.value = value;
  });
</script>

这段代码中,我们首先通过 addEventListener 监听了输入框的输入事件。在事件触发时,我们获取输入框的值,并对其进行处理。

我们先使用正则表达式去除非数字和小数点字符。然后,我们使用正则表达式只保留一个小数点,并且只保留1位小数。最后,我们使用正则表达式判断输入的值是否为整数,如果是,则去除小数点。

最终,我们将处理后的值设置回输入框中。这样,就可以实现只支持1位小数,且整数不显示小数点的效果

js 控制输入框只支持1位小数整数不显示小数点

原文地址: https://www.cveoy.top/t/topic/fuO2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录