我需要验证一个包含范围(由 分隔-
)的文本框字段。以下是要求:
- 需要验证年份和月份范围,并具有
0.5 - 3.11
表示的值5 months to 3 years and 11 months
- 小数位数最多为 2 位,11 位为最大值,0 位为最小值。
- 由连字符分隔的两个部分
-
可能包含也可能不包含 1 个空格(仅在连字符之前和之后)。 - 左侧部分必须始终小于右侧部分。
- 应该验证以下值:
1
2.3
2.3 - 4.6
2.3-4.6
2.4-2.1
是无效的
- 浮点值不需要负数
我试图生成一些正则表达式,但最接近的是:
(0|([1-9][0-9]{0,9}))(\.[0-9]{1,2})?(-)(0|([1-9][0-9]{0,9}))(\.[0-9]{1,2})?
但它只能验证像1.3-1.9
但不比较左右部分的值。并且只有一个数字的值也不会被验证。