如何使用ASP.NET中的正则表达式验证程序验证文本框

时间:2011-02-17 09:31:22

标签: c# regex asp.net-ajax

您好 我想使用正则表达式验证器在ASP.NET中验证我的文本框。

我的文本框应该只包含数字和特殊字符。

我可以使用的验证表达是什么?

请帮帮我。

3 个答案:

答案 0 :(得分:2)

只有数字才能进入该文本框

我们可以使用正则表达式验证器: 在验证表达式属性中,保持^ \ d + $。

<asp:TextBox ID="TextBox1" runat="server" 
    Style="z-index: 100; left: 259px; position: absolute; top: 283px" 
    ValidationGroup="check"></asp:TextBox>

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
    ControlToValidate="TextBox1" ErrorMessage="Please Enter Only Numbers" 
    Style="z-index: 101; left: 424px; position: absolute; top: 285px" 
    ValidationExpression="^\d+$" ValidationGroup="check">
</asp:RegularExpressionValidator>

答案 1 :(得分:1)

有效电话号码(如(999)999-9999)的表达式为:

^[\d\s\(\)\-]+$

这意味着它出现了0-9位数字()括号中的减号和空格。它们都可能发生一次或多次,所以(()3-4 4)也是正确的。但是因为你希望spl字符出现在任何地方,这是合适的。

可能使用System.ComponentModel.DataAnnotations命名空间中的属性验证。该属性看起来像这样:

[RegularExpression(@"^[\d\s\(\)\-]+$")]
public string NumbersAndSpecialChars { get; set; }

使用表达式的Asp-Control看起来像这样(就像Rob回答的那样):

<asp:TextBox ID="TextBox1" runat="server" 
Style="z-index: 100; left: 259px; position: absolute; top: 283px" 
ValidationGroup="check"></asp:TextBox>

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="You must enter a phone number in the form of (999) 999-9999." 
Style="z-index: 101; left: 424px; position: absolute; top: 285px" 
ValidationExpression="^[\d\s\(\)\-]+$" ValidationGroup="check"/>

答案 2 :(得分:0)

尝试这种模式[-+\d()]+。我认为+有时也包含在电话号码中