.NET中的字符串验证

时间:2010-08-08 21:05:08

标签: c# regex

字符串验证..

我想验证一个只包含以下字符的字符串:

  • A-Z
  • 0-9
  • “/”
  • “ - ”

实现这一目标的最佳方法是什么。我曾尝试使用REGEXP,但如果任何字符有效,则返回有效,而不是所有字符都有效。

2 个答案:

答案 0 :(得分:4)

你可以否定使用[^ A-Z0-9 / - ]。如果匹配,则表示存在无效字符。

if (Regex.IsMatch("input",@"[^A-Z0-9/-]"))
{
   //invalid character found
}

括号内的字符^否定了集合,意思是“找不到这里的任何东西”。

答案 1 :(得分:2)

尝试:

@"^[A-Z0-9/-]*$"

或者如果您需要限制字符数:

@"^[A-Z0-9/-]{lowerbound,upperbound}$"

编辑: 添加了开始和结束锚点