正则表达式以验证数值

ska*_*ale 2 regex asp.net validation

正则表达式验证文本框,我可以在asp.net中输入整数/浮点值

jru*_*ell 7

为什么不使用CompareValidator来验证值是否为数字?

<asp:TextBox ID="numberTextBox" runat="server" /> 
<asp:CompareValidator ID="validator" runat="server" ControlToValidate="numberTextBox" Operator="DataTypeCheck" Type="Double" ErrorMessage="Value must be a number" />
Run Code Online (Sandbox Code Playgroud)


Kir*_*sky 6

^[-+]?[0-9]*\.?[0-9]*([eE][-+]?[0-9]+)?$
Run Code Online (Sandbox Code Playgroud)

将匹配以下(示例):

3.4
34.34
45345
-34
.55
-.45
-2.2
1.0e-10
45.
1.e308
Run Code Online (Sandbox Code Playgroud)


And*_*are 5

试试这个:

^\d*\.?\d+$
Run Code Online (Sandbox Code Playgroud)

编辑:弗雷德里克·莫尔克(FredrikMörk)提出了非常好的建议,使这个表达具有文化意识.像这样构建表达式字符串:

String regex = String.Format("^\d*\{0}?\d+$", 
                             CultureInfo
                             .CurrentCulture
                             .NumberFormat
                             .CurrencyDecimalSeparator);
Run Code Online (Sandbox Code Playgroud)