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

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

正则表达式测试:^\d{0,6}\.?\d{1,2}$

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

有效案例

123456.12  
21231  
123456  
15465.43  
23.34  
6.45  
.12

无效案例

12345678  
123456.331  

【问题讨论】:

  • 小数点前最多 6 位,小数点后最多 2 位
  • @Pshemo yes ".12" 有效。
  • @Pshemo 感谢添加。

标签: java javascript regex


【解决方案1】:
^\d{0,6}(\.\d{1,2})?$

试试这个。查看演示。

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

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

【讨论】:

  • 如果我想创建一个模块化方法来执行此检查,是否可以构建一个动态正则表达式,在其中我提供允许小数点前/后多少位数字?
  • @MukeshBhojwani 是的,只需使用格式并提供值
  • 这对我有用 '^\\d{0,'+integerLength+'}(\\.\\d{1,'+precision+'})?$'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多