您好 我想使用正则表达式验证器在ASP.NET中验证我的文本框。
我的文本框应该只包含数字和特殊字符。
我可以使用的验证表达是什么?
请帮帮我。
答案 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()]+
。我认为+
有时也包含在电话号码中