我有一个文本框,我想在其中限制数字以仅允许小数点后一位。
我使用正则表达式来处理此问题,但是当我尝试提供输入内容时,它是不允许的。
如果我以小数点开头,则允许。
我希望输出为:
1.33
12.33
但是它的作用就像
.33
代码:
const onlyNums = value.replace(/^\d+(\.\d+)?$/, '');
答案 0 :(得分:1)
您可以简单地检查Number
是否等于输入的值而不是正则表达式,而无需严格的类型检查。用户输入第二个点(或数字以外的其他值)后,将立即返回false
document.getElementById('foo').addEventListener('keyup', e => {
console.log(Number(e.target.value) == e.target.value);
})
<input id="foo">
答案 1 :(得分:-1)
尝试使用它,替换此正则表达式
/ ^ \ d +(。\ d {1,2})?$ /