正则表达式用于小数点前 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位小数,点号只允许输入一次~