我有一個數值的文本框。例如,數字是23542.56。該數字在MySQL數據庫中以雙精度存儲。asp.net c#格式化數字的正則表達式驗證器
我將數字轉換爲十進制並將其格式化爲字符串,而我從數據庫中加載具有千位分隔符的值... ToString(「N」)。
TextBox.Text = Convert.ToDecimal(mdr["Value"].ToString()).ToString("N");
我的正則表達式驗證只接受數字和逗號:
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox" ValidationExpression="^\d+(\,\d+$)?$" ValidationGroup="NumericValidate">Allowed Chars are: 0-9 und ,</asp:RegularExpressionValidator>
的問題是驗證不接受格式的數字,對於exampel 23.542,56。什麼是讓他只接受「0-9和」的正確方法,還要接受千位分隔符?
在此先感謝...
信息:要顯示「28542.56」作爲「23.542,56」是在德國的通用符號,這就是爲什麼我這樣格式化數字的原因。
如果沒有*精確的*輸入字符串和預期的輸出/行爲,正則表達式問題很難回答。什麼是正則表達式引擎的字符串類型? '23542.56'還是'23.542,56'?參見['^(?:\ d + | \ d {1,3}(?:[。,] \ d {3})*)(?:[,。] \ d +)?$'](http:/ /regexstorm.net/tester?p=%5e%28%3f%3a%5cd%2b%7c%5cd%7b1%2c3%7d%28%3f%3a%5b.%2c%5d%5cd%7b3%7d %29 * 29%28%%3F%3A%5B%2c中。%5D%5CD%2B%29%3F%5CR%3F%24&I = 23542.56%0D%0a23.542%2c56&O = M)。 –
非常感謝 - 這種模式確切地說我正在尋找 – user1814545