Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.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#_Regex - Fatal编程技术网

C# 检查字符串中的字母数字和特殊字符

C# 检查字符串中的字母数字和特殊字符,c#,regex,C#,Regex,我的项目中的要求是检查字符串是否存在以下条件: 它必须至少包含一个字母(a-z或a-z) 它必须至少包含一个数字(0-9) 它不能包含任何特殊字符 是否有任何正则表达式可以匹配所有这些条件 这是我用于此的代码 private bool IsValidFormat(string str) { Regex rgx = new Regex(@"^[A-Za-z]+\d+.*$"); return rgx.IsMatch(str); } 它适用于上述第1点和第2点,但允许使用特殊字符。 任

我的项目中的要求是检查字符串是否存在以下条件:

  • 它必须至少包含一个字母(a-z或a-z)
  • 它必须至少包含一个数字(0-9)
  • 它不能包含任何特殊字符
  • 是否有任何正则表达式可以匹配所有这些条件

    这是我用于此的代码

    private bool IsValidFormat(string str)
    {
       Regex rgx = new Regex(@"^[A-Za-z]+\d+.*$");
       return rgx.IsMatch(str);
    }
    
    它适用于上述第1点和第2点,但允许使用特殊字符。
    任何帮助都将不胜感激。

    以下更改允许至少一个字母、至少一个数字,并且不允许使用其他字符。字母和数字的顺序并不重要,这与OP中提供的解决方案不同,后者要求以字母开头,以数字结尾

    private bool IsValidFormat(string str)
    {
       Regex rgx = new Regex(@"^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$");
       return rgx.IsMatch(str);
    }
    

    因此,基本上,只有字母数字字符,至少有一个字母和一个数字?您当前的正则表达式对于“123password”这样的字符串不起作用,因为它需要字符first@MarkCiliaVincenti... 是,至少1个字符和1个数字,但没有特殊字符。。。。字符或数字的顺序不正确important@AleksAndreev... 字符或数字的顺序并不重要。。。它可以是字符首或数字首。。。我不太了解regex。。。这就是问题所在。这对制作你自己的正则表达式很有帮助。请尝试以下操作,“(\d |[A-Za-z])+”仅匹配数字或字母。