javascript - 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'));
推荐阅读
- regex - 为什么角度模式正则表达式不能在 html 中通过在 typescript 中运行良好
- typescript - 模态弹出窗口在分层组件结构 angular-bootstrap-md 中不起作用
- html - 连续容器不工作。第一个有效,但第二个未在浏览器中显示
- shell - Docker .env 变量到脚本
- excel - 如何结合两个搜索框的调查?
- javascript - 本次计算中 Macrotask 和 Microtask 队列的状态
- java - JMeter - Velocity JSR223 脚本不能使用 JMeter 变量/环境
- c++ - 尝试“复制”shared_ptr 向上转换行为会导致复制构造函数的无限递归(导致段错误)
- angular - 不稳定的 maven-dependency-plugin(特定文件夹并不总是生成/包含在 .jar 文件中)
- javascript - 仅在使用 jquery 的鼠标按下事件时更改元素 css