[英]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.