带或不带前导零的小数的正则表达式是什么,而不是一个尾随零?

时间:2018-01-12 21:31:10

标签: javascript regex

我有这个正则表达式(小数点后最多3个数字):

/^(\d*[1-9]\d*(\.\d{1,3})?|0*\.\d{1,3})$/

我希望将它们设置为有效

  • 0
  • 0.01
  • 0.1
  • 12
  • 12.01
  • 12.1
  • 12.420

这些为无效

  • 12.0
  • 0.0
  • 012

1 个答案:

答案 0 :(得分:3)

这似乎可以解决问题

^(0|[1-9]\d*)(\.\d{0,2}[1-9])?$

Apache SOLR reference

仅禁止.0并接受例如{0} .120

^(0|[1-9]\d*)(\.(?!0$)\d{1,3})?$