正则表达式验证问题

时间:2014-02-17 18:39:49

标签: asp.net regex

我有一个Asp.Net脚本,其中包含一个这样的验证器:

<asp:RegularExpressionValidator ID="AdvNeedIdValidator" runat="server"
  ControlToValidate="NEEDS" ErrorMessage="Need ID is numeric."
  ForeColor="Red" ValidationExpression="^\d*\.?\d*$">*</asp:RegularExpressionValidator> 

验证器应该拒绝非数字输入(NEEDS是一个数值),但我认为正则表达式"^\d*\.?\d*$"存在问题,因为当我想清除输入文本时用户输入ErrorMessage弹出的文本。我有一个带有4个数字值的NeedID字段,所以你能告诉我如何升级"^\d*\.?\d*$"来解决这个问题吗?

由于

2 个答案:

答案 0 :(得分:2)

如果您只想验证4位数的整数,请尝试使用以下内容:

^\d{4}$

^\d表示以任何数字开头

{4}表示必须有4个。

$表示这是模式的结束。

换句话说,正则表达式验证和表达恰好4位数。

答案 1 :(得分:0)

如果您要验证数字,请执行以下操作:

500.40
30个
0.02
0.02

这应该符合您的要求:

“\ d * \。?\ d +”