首页 > 解决方案 > 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,'');"

但它不起作用。对不起,我对正则表达式有一点了解。那么任何人都可以帮助我建立这个来纠正吗?

标签: javascript

解决方案


这可能是您正在寻找的正则表达式:

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'));


推荐阅读