正则表达式用于小数点前 6 位和小数点后 2 位

Posted

技术标签:

【中文标题】正则表达式用于小数点前 6 位和小数点后 2 位【英文标题】:regex for 6 digits before and 2 digits after decimal 【发布时间】:2015-04-21 04:01:58 【问题描述】:

我需要一个正则表达式,其中小数是可选的。如果有小数点,那么小数点前最多可以有 6 位数字,小数点后最多可以有 2 位数字。如果小数点不存在,则最多 6 位有效。

正则表达式测试:^\d0,6\.?\d1,2$

上面的正则表达式最多允许 8 位不带小数。如何根据需要进行更改,以便如果没有小数则最多需要 6 位数字?

有效案例

123456.12  
21231  
123456  
15465.43  
23.34  
6.45  
.12

无效案例

12345678  
123456.331  

【问题讨论】:

小数点前最多 6 位,小数点后最多 2 位 @Pshemo yes ".12" 有效。 @Pshemo 感谢添加。 【参考方案1】:
^\d0,6(\.\d1,2)?$

试试这个。查看演示。

https://regex101.com/r/oL9kE8/4

只需将(\.\d1,2) 小数部分设为可选即可。?

【讨论】:

如果我想创建一个模块化方法来执行此检查,是否可以构建一个动态正则表达式,在其中我提供允许小数点前/后多少位数字? @MukeshBhojwani 是的,只需使用格式并提供值 这对我有用 '^\\d0,'+integerLength+'(\\.\\d1,'+precision+')?$'

以上是关于正则表达式用于小数点前 6 位和小数点后 2 位的主要内容,如果未能解决你的问题,请参考以下文章

js 正则表达式 来控制输入框 只能输入 7位正整数和2位小数,点号只允许输入一次~

正则表达式匹配美元金额

验证整数和小数的正则表达式

是否有正则表达式来修剪两位小数后的数字?

正则表达式 验证数字格式 非负数 小数点后保留两位 数字正则 double正则

正则表达式 只能输入数字和小数点,小数点后2位,并且支持FF3浏览器,应当怎么些?