我有以下正则表达式验证器 -
<asp:RegularExpressionValidator ID="targetNumValidator" runat="server" Display="Dynamic" ValidationExpression="/^\d{0,7}(\.\d{0,2})?$/" ControlToValidate="txtTargetNum"></asp:RegularExpressionValidator>
使用以下Rad数字文本框 -
<telerik:RadNumericTextBox ID="txtTargetNum" MaxLength="12" NumberFormat-DecimalDigits="2" runat="server">
</telerik:RadNumericTextBox>
我试图限制用户输入最多包含两位小数的12位数字。
好示例 -
123.00
123.12
1234567891.00
12345.34
错误示例 -
123.222
12345678912.00
我相信我的正则表达式能够成功实现这个目标,但每当我通过我的保存按钮保存值时,由于正则表达式,它就会停止运行。如果我将该字段留空,则保存按钮仍然正常,因此我知道它是由正则表达式引起的。
答案 0 :(得分:0)
我尝试了harristyle的正则表达式,我在对它进行了一些小调整之后最终决定使用它。由于rad数字文本框自动添加小数位和两个零,如果我输入一个数字,如1234,这将导致文本框显示1234.00。我必须使小数位和字符串的其余部分可选。保存数据时,无论哪种方式都包含十进制值。
这是我用过的表达式 -
^\d{1,10}\.?\d{2}$