我使用下面的表達式來驗證一個帶有十進制數字的文本框。但它接受12,-1.0,12.0,12.5,1.0等。但我想要一個像這樣的「12.4」正則表達式。前兩位數和小數點,後面跟一個數字。字符串的asp.net正則表達式驗證器爲十進制
ValidationExpression="^-?[0-9]{0,2}(\.[0-5]{1,1})?$|^-?(100)(\.[0]{1,2})?$"
我使用下面的表達式來驗證一個帶有十進制數字的文本框。但它接受12,-1.0,12.0,12.5,1.0等。但我想要一個像這樣的「12.4」正則表達式。前兩位數和小數點,後面跟一個數字。字符串的asp.net正則表達式驗證器爲十進制
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$"`;
開始 - 兩個數字 - 小數點 - 個位數。沒有減號,沒有整數。那是你要的嗎?
對我來說也是如此,所以得到讚揚。順便說一下,['\ d'也匹配.NET正則表達式中的unicode數字](http://www.regular-expressions.info/refflavors.html),這就是爲什麼我用'[0-9]去'因爲奇怪嚴格的要求。 –
以1 *或* 2數字開始的實際值。 –
我測試了以下表達式在WPF它工作正常檢查一次這個
string sExpression = @"^[0-9][0-9]\.[0-9]$";
您可以在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>
你的描述不清楚。在你的樣本輸入中,[12,-1.0,12.0,12.5,1.0]',你想匹配哪些,哪些不匹配? –
可能需要使用一組例外和排除號碼來更清楚。在你的例子中,你說你不想12.5但想要12.4? –
我需要像這個兩位數字的精確數字。最後的單個數字僅爲5。 「10.5」像這樣 – Amulraj