输入空格时不会显示正则表达式验证错误

时间:2014-01-30 17:10:14

标签: .net regex validation whitespace

我写了一个正则表达式,允许最多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}成功了。出现错误消息。

1 个答案:

答案 0 :(得分:1)

Manasi发现的解决方案:

^\d+([.,]\d{1,3}\ {0,0})?$

描述

Regular expression visualization