晚安,
我有一个需要接受14位数加2位小数的文本框。例子包括:
12345678901234
12345678901234.94
.75
为此,我有以下代码:
<asp:TextBox ID="txtQuantity" runat="server" CssClass="txtBox textboxRight"
MaxLength="14" Width="70px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="txtQuantity" Display="Dynamic" ErrorMessage="Required "
SetFocusOnError="True" ValidationGroup="vgItem"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RangeValidator1" runat="server"
ControlToValidate="txtQuantity" Display="Dynamic"
ErrorMessage="Invalid Quantity"
ValidationExpression="^\d+(?:\.\d{0,2})?$"
SetFocusOnError="True"></asp:RegularExpressionValidator>
此文本框的MaxLength也设置为14。任何人都可以指导我如何写正则表达式接受总共14位和两位小数?
谢谢, SID
答案 0 :(得分:4)
十一位数后跟(可选)句号和两位数。这是您的字段中可以容纳的最大值:^\d{1,11}(?:\.\d\d)?$
如果您希望用户能够输入没有任何小数的14位数字或最多11位数字和两位小数(并且不允许只有一个十进制数字),您可以这样做:^(?:\d{1,14}|\d{1,11}\.\d\d)$