我写了一个正则表达式,允许最多3个十进制数字。 正则表达式是:
^\d+([.,]\d{1,3})?$
它适用于正确的输入,如(100,100.22等),并在用户尝试输入时显示验证错误(0。或,或10.11111)
但是,当我尝试输入空格时,不会显示错误。 表单未提交。用户无法理解导致错误的原因。
以下是我在aspx文件中的代码:
<td>
<asp:TextBox ID="txtBuildingSize" CssClass="textbox" runat="server"
ToolTip="in Sq Ft" meta:resourcekey="txtBuildingSizeResource1"></asp:TextBox>
<asp:Label ID="lblSqM1" runat="server" CssClass="optionLabel"
meta:resourcekey="lblSqM1Resource1" Text="square meters"></asp:Label>
</td>
<td>
<asp:RegularExpressionValidator ID="strBuildingSizeValidator"
ControlToValidate="txtBuildingSize" Display="Dynamic"
runat="server" ForeColor="Red" ValidationExpression="^\d+([.,]\d{1,3})?$"
meta:resourcekey="strBuildingSizeValidatorResource1"
Text="* Max 3 decimals only"></asp:RegularExpressionValidator>
可能是什么问题?
已解决: ^ \ d +([。,] \ d {1,3} \ {0,0})?$
(空格){0,0}成功了。出现错误消息。
答案 0 :(得分:1)
Manasi发现的解决方案:
^\d+([.,]\d{1,3}\ {0,0})?$