-1

以下の式を使用して、10進数のテキストボックスを検証しています。ただし、12、-1.0、12.0、12.5、1.0などを受け入れます。ただし、この「12.4」のような正規表現が必要です。最初の2桁と小数点、その後に1桁。

ValidationExpression="^-?[0-9]{0,2}(\.[0-5]{1,1})?$|^-?(100)(\.[0]{1,2})?$" 
4

5 に答える 5

2

まず第一に、その正規表現は非常に複雑です。全体を次のように書き直すことができます

^-?([0-9]{0,2}(\.[0-5])?|100(\.00?)?)$

...そしてまったく同じ効果があります。しかし、あなたのコメントに基づいて、あなたはもっと厳密な何かを探しています:

^[0-9]{2}\.5$

なぜあなたがそれをしたいのかはっきりしていませんが、これはあなたが説明したことを正確に行います。最後の桁を強制的に5にしたくない場合(コメントが不明確だった場合)は、を使用します^[0-9]{2}\.[0-9]$

于 2012-06-15T05:01:16.283 に答える
2

このコードはASPXページで使用できます。^[1-9]\d*(\.\d+)?$ValidationExpressionプロパティで使用します。

<asp:TextBox runat="server" ID="txtprice" width="50" />
        <asp:RegularExpressionValidator runat="server" ErrorMessage="Decimal Only" ControlToValidate="txtprice"
      ValidationExpression="^[1-9]\d*(\.\d+)?$"></asp:RegularExpressionValidator>
于 2016-07-18T14:23:18.460 に答える
1
expr = `@"^\d{1,2}\.\d$"`;  

文字列の先頭-2桁-小数点-1桁。マイナスも整数もありません。それはあなたが望むものですか?

于 2012-06-15T04:49:53.543 に答える
0

小数点の前に2桁、小数点の後に1桁が必要な場合は、これを試してください

-?[1-9][0-9][\.][0-9]
于 2012-06-15T04:54:55.697 に答える
0

以下の式をWPFでテストしました。これを確認すると、正常に機能します。

string sExpression = @"^[0-9][0-9]\.[0-9]$";
于 2012-06-15T06:08:00.897 に答える