Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对texbox进行验证。正则表达式?_C#_Asp.net_Regex - Fatal编程技术网

C# 对texbox进行验证。正则表达式?

C# 对texbox进行验证。正则表达式?,c#,asp.net,regex,C#,Asp.net,Regex,在我的Web应用程序中,我有一个用户注册页面,其中一个文本框包含房屋号: 用户必须在该文本框中输入houseno。我知道用户可以输入所有数字或所有字母或所有字母,但不能输入所有特殊字符我如何限制用户不输入所有特殊字符,如 用户可以输入 123455或 abcdef或 12abcdef 但不是 &&&&&&或 或 @@@@或 *****用户不应输入特定字符 给我一些解决方案谢谢你我想你需要的正则表达式是(\w\124;\ d)+ 编辑:\w已经包含数字,因此:\w+只需^\w+$ ^指示应用正则

在我的Web应用程序中,我有一个用户注册页面,其中一个文本框包含房屋号: 用户必须在该文本框中输入houseno。我知道用户可以输入所有数字或所有字母或所有字母,但不能输入所有特殊字符我如何限制用户不输入所有特殊字符,如 用户可以输入

123455或 abcdef或 12abcdef

但不是

&&&&&&或

或 @@@@或 *****用户不应输入特定字符
给我一些解决方案谢谢你我想你需要的正则表达式是
(\w\124;\ d)+


编辑:\w已经包含数字,因此:
\w+
只需
^\w+$

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

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

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

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

如果您不希望下划线匹配,那么

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

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

在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]+" />

如果有一个非特殊字符,则该值将匹配true。它不会将输入限制为只使用非特殊字符。嗨,科纳米曼先生,将其重新设置为不使用所有特殊字符,但例如,我输入这样的“H-No:41-259#”,它给出了错误,但我想输入这样一个特殊字符,我想你理解我的问题,我会再次解释谢谢你的回答我可以输入特殊字符,但不是全部例如,如果我在文本框中输入这样的“***&&&&^^^%%”,它应该会给出错误,因为它不可能是房子不在书里?感谢您的回复Hi先生Russ Cam it restriing不使用所有特殊字符,但例如我输入这样的“H-No:41-259#”,它给出了错误,但我想输入这样的特殊字符,我想你理解我的问题,我会再次解释谢谢你的回答我可以输入特殊字符,但不是全部例如,如果我在文本框中输入这样的“***&&&&^^^%%”,它应该会给出错误,因为它不可能是房子不在书里?感谢您的响应我尝试一下^\w+$不工作,我的意思是当我在文本框中输入这样的“41-259#”时,它给出了错误,但我想允许该错误,感谢您的响应您希望允许哪些特殊字符?根据您的注释,将正则表达式更改为
^[\w-#]+$
rob先生感谢您的回复,但它不起作用。请看它只允许字母数字,但不允许使用特殊字符,如“41-259”。然后它会出现错误。我说的不是所有特殊字符,而是允许字母数字和特殊字符的组合