在文本框上验证。正则表达式?

时间:2009-11-11 08:45:24

标签: c# asp.net regex

在我的webapplication中我有用户注册页面,其中一个文本框包含House No: 用户必须在该文本框中输入houseno。我用户可以输入所有的numarics或所有字母或所有字母数字但不是所有特殊字符我如何限制用户不要输入所有特殊字符,如 用户可以输入

123455或 abcdef或 12abcdef

但不是

&安培;&安培;&安培;&安培;&安培;&安培;或

要么

@@@@或 *****用户不应该输入specail charecters 给我一些解决方案谢谢你

3 个答案:

答案 0 :(得分:1)

只需^\w+$

  • ^表示应用正则表达式模式的字符串的开头

  • \w匹配字母,数字和下划线。

  • +匹配一个或多个匹配项(在本例中应用于字母,数字和下划线)

  • $表示应用正则表达式模式的字符串结尾

如果您不想要匹配的下划线,那么

^[a-zA-Z0-9]+$

如果该字段是可选字段,那么您可能希望使用*代替+,因为它匹配零次或多次。

答案 1 :(得分:0)

我认为你需要的正则表达式是(\w|\d)+

编辑:\ w已包含数字,因此:\w+

答案 2 :(得分:0)

在asp.net中实现此目标的标准方法是使用RegularExpressionValidator控件。一个简单的例子如下:

    <asp:Label runat="server" ID="HouseNoLabel" Text="House No." AssociatedControlID="HouseNoTextBox" />
    <asp:TextBox runat="server" ID="HouseNoTextBox" />
    <asp:RegularExpressionValidator runat="server" ID="HouseNoValidator" ControlToValidate="HouseNoTextBox"
    ErrorMessage="* only alphanumeric characters are allowed" ValidationExpression="[\w]+" />

如果您想阻止用户完全输入无效值,请查看Ajax Toolkit中的MaskedEdit控件http://www.asp.net/ajax/AjaxControlToolkit/Samples/