如果用户输入文本框验证中的所有特殊字符,则不允许 C#
Disallow if user eneter All special characters in textbox validation c#
我正在进行验证,我必须验证一个文本框,我需要在其中禁止输入特殊字符。我的意思是,如果用户只在文本框中填写特殊字符,那么我们需要禁止他,如果他使用 test-test 或 test_test 或 (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'
。仅当您还想允许空行时,才将 .+
更改为 .*
。
你可以用 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
我正在进行验证,我必须验证一个文本框,我需要在其中禁止输入特殊字符。我的意思是,如果用户只在文本框中填写特殊字符,那么我们需要禁止他,如果他使用 test-test 或 test_test 或 (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'
。仅当您还想允许空行时,才将 .+
更改为 .*
。
你可以用 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