使用 js 写一段代码要求 input 中输入的内容如果不是数字会被自动替换掉并且只能输入到小数点后两位超出则无法输入
以下是使用 JavaScript 实现的代码:
<input type="text" oninput="handleInput(this)" />
<script>
function handleInput(input) {
// 获取输入的内容
let value = input.value;
// 替换非数字字符为 ''
value = value.replace(/[^\d.]/g, '');
// 只保留小数点后两位
const index = value.indexOf('.');
if (index !== -1) {
value = value.slice(0, index + 3);
}
// 更新输入框的值
input.value = value;
}
</script>
这段代码实现了以下功能:
- 监听输入框的
oninput事件,当输入框的内容发生变化时调用handleInput函数。 handleInput函数首先获取输入框中的内容。- 使用正则表达式将非数字字符替换成空字符串。
- 如果输入框中包含小数点,只保留小数点后两位。
- 最后更新输入框的值,确保输入框中的内容只包含数字和小数点,并且小数点后最多只有两位。
原文地址: https://www.cveoy.top/t/topic/7BZ 著作权归作者所有。请勿转载和采集!