範囲 ( で区切られた) を含むテキスト ボックス フィールドを検証する必要があります-
。要件は次のとおりです。
- 年と月の範囲を検証し、次のような値
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
無効です
- float 値に負数は不要
いくつかの正規表現を生成しようとしましたが、最も近いものは次のとおりです。
(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
、左右の部分を比較することはできません。また、1 桁の値のみが検証されません。