正则表达式不允许零
它应允许0.0000001作为值,但不应允许输入0.
我需要验证器而不是javascript
答案 0 :(得分:3)
我认为您需要的只是^(?=.*[1-9])\d*\.?\d*$
但是,如果它在小数点之前,你可以得到幻想,只允许一个前导零
^(?=.*[1-9])(?:[1-9]\d*\.?|0?\.)\d*$
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="Input is not valid."
ValidationExpression="^(?=.*[1-9])(?:[1-9]\d*\.?|0?\.)\d*$"></asp:RegularExpressionValidator>
<asp:Button ID="Button1" runat="server" Text="Button" />
答案 1 :(得分:1)
([1-9](\.[0-9]+)?)|(0\.[0-9]*[1-9])
看起来像工作; - )
如果你删除括号,它看起来更容易理解:
[1-9](\.[0-9]+)? | 0\.[0-9]*[1-9]