C#字符串不应仅包含空格或任何特殊字符,除了..'; ::“

时间:2019-02-19 19:01:00

标签: c# .net regex model-validation

我需要一个正则表达式模式来验证字符串不只包含空格(仅包含多个空格)(例如:“” .length = 4)并且不应该包含!@ $#%^&*()字符

Regex regex =新的Regex(@“。 \ S +。”); 这个检查空白。我需要两种条件都用一个正则表达式模式。

   Result
   ---------
  • “”:错误
  • “ ad af”:是
  • “ asd asd”:是
  • “ asdf”:是
  • “ asdf @ df dsfs”:false
  • “#”:错误

2 个答案:

答案 0 :(得分:3)

作为单个正则表达式:

!Regex.IsMatch(input, "^\s+$|[!@$#%^&*()]");

这意味着:

^\s+$        //Is entirely composed of one or more whitespace characters 
|            //OR
[!@$#%^&*()] //Contains any one of the given special characters

此正则表达式返回您想要的真相的反义词(即,它查找所有空格或包含特殊字符的任何东西),因此我们不使用!来满足您的要求

答案 1 :(得分:0)

如果您要寻找“仅中间有空格的字母”的正则表达式,则可以使用以下方法:

[a-zA-Z][a-zA-Z ]+

如果您希望允许,还可以输入数字, 使用这个:

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