javascript正则表达式,最多12位小数和2位浮动



我只需要使用正则表达式来验证一个数字,以允许最多12位小数和最多2位浮动。这里的浮点也是可选的。我已经有了下面的表达式来验证其他一些条件。

onkeyup="this.value=this.value.replace(/[^.d]/g,'');"

我也需要修改上面的表达式来验证我的新需求。我的尝试如下。

onkeyup="this.value=this.value.replace(/[^.d{1,12}{0,2}]/g,'');"

但它不起作用。对不起,我对正则表达式有点了解。那么,有人能帮我构建这个来纠正吗?

这可能是您要查找的正则表达式:

const regex = /^d{1,12}(?:.d{1,2})?$/;
console.log('123456789012.123', regex.test('123456789012.123'));
console.log('123456789012.12', regex.test('123456789012.12'));
console.log('123456789012.1', regex.test('123456789012.1'));
console.log('123456789012.', regex.test('123456789012.'));
console.log('123456789012', regex.test('123456789012'));
console.log('12345678901', regex.test('12345678901'));

const regex = /^d{1,12}(.d{1,2})?$/;
console.log('1234567890123.12', regex.test('1234567890123.12'));
console.log('123456789012.12', regex.test('123456789012.12'));
console.log('123456789012.1', regex.test('123456789012.1'));
console.log('123456789012.', regex.test('123456789012.'));
console.log('123456789012', regex.test('123456789012'));
console.log('12345678901', regex.test('12345678901'));
console.log('1234567890', regex.test('1234567890'));
console.log('123456789', regex.test('123456789'));
console.log('12345678', regex.test('12345678'));
console.log('1', regex.test('1'));

最新更新