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

时间:2019-06-20 09:08:36

标签: c# regex

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

  1. 它必须至少包含一个字母(a-z或A-Z)
  2. 它必须至少包含一个数字(0-9)
  3. 它不能包含任何特殊字符。

是否存在可以满足所有这些条件的正则表达式?

这是我为此使用的代码

private bool IsValidFormat(string str)
{
   Regex rgx = new Regex(@"^[A-Za-z]+\d+.*$");
   return rgx.IsMatch(str);
}

它适用于以上第1点和第2点,但允许使用特殊字符。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

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

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