簡體   English   中英

asp.net正則表達式驗證器(十進制)

[英]asp.net regular expression validator for decimal

我使用以下表達式來驗證帶有十進制數字的文本框。 但是它接受12,-1.0,12.0,12.5,1.0等。但是我想要一個像這樣的正則表達式“ 12.4”。 前兩位數字和小數點,后跟一位數字。

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

首先,該正則表達式非常復雜。 整個事情可以改寫成

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

...並具有完全相同的效果。 但是根據您的評論,您正在尋找更嚴格的內容:

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

我不清楚您為什么要這樣做,但這確實符合您的描述。 如果不想將最后一位強制為5(您的注釋不清楚),請使用^[0-9]{2}\\.[0-9]$

expr = `@"^\d{1,2}\.\d$"`;  

字符串的開頭-兩位-小數點-一位。 沒有減號,沒有整數。 那是你要的嗎?

您可以在ASPX頁面上使用此代碼。 在ValidationExpression屬性中使用^[1-9]\\d*(\\.\\d+)?$

<asp:TextBox runat="server" ID="txtprice" width="50" />
        <asp:RegularExpressionValidator runat="server" ErrorMessage="Decimal Only" ControlToValidate="txtprice"
      ValidationExpression="^[1-9]\d*(\.\d+)?$"></asp:RegularExpressionValidator>

如果要在小數點前兩位和小數點后一位嘗試

-?[1-9][0-9][\.][0-9]

我在WPF中測試了以下表達式,一旦檢查了它,它就可以正常工作

string sExpression = @"^[0-9][0-9]\.[0-9]$";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM