正则表达式允许最低0.01和最高24价格的价值

时间:2014-05-22 08:03:56

标签: ruby-on-rails regex

我正在使用rails申请

我希望在min value : 0.01max value : 24

之间进行价格验证

同样以逗号开始编号:

  • 允许的格式示例.23.21.230.2556.3
  • 0.01
  • 的最低值
  • 24
  • 的最大值

什么是模型验证呢?

2 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

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

Regular expression visualization

Demo

答案 1 :(得分:1)

我会首先解析任何和所有浮点数的字符串,

[-+]?(\d*[.])?\d+

然后在结果上运行比较运算符(x<=24 && x>=0.001)以过滤允许的值。

尝试使用正则表达式一步一步完成所有操作是没有意义的,除非你真的被资源所束缚。