-2

次の条件で10進数または整数を許可するRegularExpressionValidatorコントロールの正規表現を作成しようとしています:

  • 負およびゼロにすることはできません。

  • オプションの小数点を含む文字列の最大長は 3 文字で、整数のみを入力した場合は 2 文字です

  • 小数点以下の最大桁数は 1 です

だからこちらがいい……。

0.1,
0.9,
9.0,
9.1,
2,
34

そして、これらは悪いです.....

 0,
-0,
-1,
-0.1,
.1,
.34,
 9.01,
 9.12,
345

助けてください。非常に多くの Regex サンプルを調べましたが、上記の条件に一致する適切なサンプルを作成できませんでした。

4

2 に答える 2

1

次の正規表現を使用します。

^(\d{1,2}\.?|\d\.\d)$

最初の選択肢では、オプションの小数点を使用して 2 桁の整数を使用できます。2 番目の方法では、数字の後に小数点以下 1 桁を使用できます。

この検証に合格した場合は、次に対してテストします。

[^0]

ゼロにならないように。

于 2013-08-27T06:36:59.787 に答える
0

以下の正規表現を試してみました..これは、質問で言及されているすべての良い値と悪い値を満たしています。

^(([1-9])|([0-9][1-9])|([1-9][0-9])|([0-9][.][1-9])|([1-9][.][0-9]))$

私は正規表現についてあまり知識がありません。上記の正規表現が正常に機能することがわかったいくつかのサンプルを見てください。上記の正規表現をこのように記述できるかどうか、パフォーマンス上の問題があるかどうか、およびその他の場合は、これに関するフィードバックをお知らせください。

于 2013-08-27T07:15:03.217 に答える