我正在使用正则表达式来验证十进制或数字(18,3)数字, 它不允许用户输入超过1个小数点和所有
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="Invalid" ControlToValidate="txtqty" ValidationExpression="^[-+]?[0-9]*\.?[0-9]*([?[0-9]+)?$" ValidationGroup="save"></asp:RegularExpressionValidator>
但我也想禁止用户输入任何等于0的值,如下所示:
0.00, 0000.00, 00.0, 0 ...
答案 0 :(得分:2)
我认为问题在于你使用一个验证器来执行多个任务
分开你的问题:
验证格式
验证特定值
除CompareValidator
RegularExpressionValidator
<asp:CompareValidator ErrorMessage="Value must be grater than 0" ControlToValidate="TextBox1"
runat="server" Operator="NotEqual" Type="Double" ValueToCompare="0" />
答案 1 :(得分:1)
“使用以下正则表达式:
^\d[1-9]*(\.\d+)|([0-9])$
它禁止以下模式中的值:
00.00,0123.78 i.e value before decimal followed by 0
答案 2 :(得分:0)
你可以用这个
^([1-9][0-9]*\.[0-9]+)|([0-9]+)$
答案 3 :(得分:0)
<asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="Invalid" ControlToValidate="txtqty" MaximumValue="99999" MinimumValue="1.0000" ValidationGroup="save"></asp:RangeValidator>
范围验证工具