Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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# 如果用户在文本框验证c中输入所有特殊字符,则不允许#_C#_Asp.net_Regex_Special Characters - Fatal编程技术网

C# 如果用户在文本框验证c中输入所有特殊字符,则不允许#

C# 如果用户在文本框验证c中输入所有特殊字符,则不允许#,c#,asp.net,regex,special-characters,C#,Asp.net,Regex,Special Characters,我正在进行验证,我必须验证一个文本框,其中我需要禁止输入特殊字符。我的意思是,如果用户只在文本框中填写特殊字符,那么我们需要禁止他,如果他使用测试测试或测试测试或(999)-998-1111,那么我们需要允许用户输入数据 我使用了下面的正则表达式,但这是不允许的,即使我输入一个特殊字符。它显示了我的错误 <asp:RegularExpressionValidator ID="ReqValContactPerson_SpecialChars" runat="server" CssClass=

我正在进行验证,我必须验证一个文本框,其中我需要禁止输入特殊字符。我的意思是,如果用户只在文本框中填写特殊字符,那么我们需要禁止他,如果他使用测试测试测试测试(999)-998-1111,那么我们需要允许用户输入数据

我使用了下面的正则表达式,但这是不允许的,即使我输入一个特殊字符。它显示了我的错误

<asp:RegularExpressionValidator ID="ReqValContactPerson_SpecialChars" runat="server" CssClass="changecolor" 
                    ControlToValidate="txtFirstName" Display="Dynamic" 
                    ErrorMessage="Please enter valid first name" SetFocusOnError="True" 
                    ValidationExpression="[\%\/\\\&\?\,\'\;\:\!\-]+" 
                    ></asp:RegularExpressionValidator>


请帮帮我。

下面的正则表达式不允许在该文本框中仅出现上述特殊字符

ValidationExpression="^(?![\%\/\\\&\?\,\'\;\:\!\-]+$).+" 

不允许仅使用数字和/或非单词字符

 ValidationExpression="^(?![\d\W]+$).+" 
\W
匹配任何非单词字符<代码>\d+匹配一个或多个数字


也就是说,这将不允许
%&'
,但允许此
f%G'
。仅当您希望同时允许空行时,才将
+
更改为
*

下面的正则表达式将不允许该文本框上仅出现提及的特殊字符

ValidationExpression="^(?![\%\/\\\&\?\,\'\;\:\!\-]+$).+" 

不允许仅使用数字和/或非单词字符

 ValidationExpression="^(?![\d\W]+$).+" 
\W
匹配任何非单词字符<代码>\d+匹配一个或多个数字


也就是说,这将不允许
%&'
,但允许此
f%G'
。仅当您希望同时允许空行时,才将
+
更改为
*

下面的正则表达式将不允许该文本框上仅出现提及的特殊字符

ValidationExpression="^(?![\%\/\\\&\?\,\'\;\:\!\-]+$).+" 

不允许仅使用数字和/或非单词字符

 ValidationExpression="^(?![\d\W]+$).+" 
\W
匹配任何非单词字符<代码>\d+匹配一个或多个数字


也就是说,这将不允许
%&'
,但允许此
f%G'
。仅当您希望同时允许空行时,才将
+
更改为
*

下面的正则表达式将不允许该文本框上仅出现提及的特殊字符

ValidationExpression="^(?![\%\/\\\&\?\,\'\;\:\!\-]+$).+" 

不允许仅使用数字和/或非单词字符

 ValidationExpression="^(?![\d\W]+$).+" 
\W
匹配任何非单词字符<代码>\d+匹配一个或多个数字


也就是说,这将不允许
%&'
,但允许此
f%G'
。仅当您还希望允许空行时,才将
+
更改为
*

您可以使用LINQ测试它:

string str = "test-test";
bool allow = str.Any(c => Char.IsLetterOrDigit(c));  //true

string str2 = "____!&&**^%$##@";      
bool allow2 = str2.Any(c => Char.IsLetterOrDigit(c)); // false

string str3 = "(999)-998-1111";
bool allow3 = str3.Any(c => Char.IsLetterOrDigit(c)); // true  

您可以使用LINQ进行测试:

string str = "test-test";
bool allow = str.Any(c => Char.IsLetterOrDigit(c));  //true

string str2 = "____!&&**^%$##@";      
bool allow2 = str2.Any(c => Char.IsLetterOrDigit(c)); // false

string str3 = "(999)-998-1111";
bool allow3 = str3.Any(c => Char.IsLetterOrDigit(c)); // true  

您可以使用LINQ进行测试:

string str = "test-test";
bool allow = str.Any(c => Char.IsLetterOrDigit(c));  //true

string str2 = "____!&&**^%$##@";      
bool allow2 = str2.Any(c => Char.IsLetterOrDigit(c)); // false

string str3 = "(999)-998-1111";
bool allow3 = str3.Any(c => Char.IsLetterOrDigit(c)); // true  

您可以使用LINQ进行测试:

string str = "test-test";
bool allow = str.Any(c => Char.IsLetterOrDigit(c));  //true

string str2 = "____!&&**^%$##@";      
bool allow2 = str2.Any(c => Char.IsLetterOrDigit(c)); // false

string str3 = "(999)-998-1111";
bool allow3 = str3.Any(c => Char.IsLetterOrDigit(c)); // true  

当我添加%&^%&或!@$%^&*()它没有向我显示错误,意味着它接受这个,但我不希望…将额外的特殊字符添加到上面的字符类中。也就是说,
@
^
等等。但是不要将
^
放在character类的第一个位置。看看我的更新…很好,正是我现在需要的!再一次,谢谢:)现在试试。。。我想你不想只允许数字和特殊字符。如果你不想在我添加%&^%&或!@$%时允许
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu^&*()它没有向我显示错误,意味着它接受这个,但我不希望…将额外的特殊字符添加到上面的字符类中。也就是说,
@
^
等等。但是不要将
^
放在character类的第一个位置。看看我的更新…很好,正是我现在需要的!再一次,谢谢:)现在试试。。。我想你不想只允许数字和特殊字符。如果你不想在我添加%&^%&或!@$%时允许
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu^&*()它没有向我显示错误,意味着它接受这个,但我不希望…将额外的特殊字符添加到上面的字符类中。也就是说,
@
^
等等。但是不要将
^
放在character类的第一个位置。看看我的更新…很好,正是我现在需要的!再一次,谢谢:)现在试试。。。我想你不想只允许数字和特殊字符。如果你不想在我添加%&^%&或!@$%时允许
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu^&*()它没有向我显示错误,意味着它接受这个,但我不希望…将额外的特殊字符添加到上面的字符类中。也就是说,
@
^
等等。但是不要将
^
放在character类的第一个位置。看看我的更新…很好,正是我现在需要的!再一次,谢谢:)现在试试。。。我认为您不希望只允许数字字符和特殊字符。如果您不希望允许
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu