检查字符串是否包含char并从中开始并有数字

时间:2014-02-13 16:26:00

标签: c# regex

如果字符串包含字母数字值且至少包含6个字符,如 abcd ,我需要验证字符串。

我尝试使用下面的代码但是 我没有找到如何验证字符串是否以 char 开头并且至少包含6个字符串。 该字符串可以包含一个或多个数字,但不能以一个数字开头。

var regex = new Regex("^[a-zA-Z0-9]*$");
if (!string.IsNullOrEmpty(_item ) && !regex.IsMatch(_item))

4 个答案:

答案 0 :(得分:3)

怎么样:

^[a-zA-Z][a-zA-Z0-9]{5,}$

这将匹配以字母开头且至少包含6个字符的字符串。

答案 1 :(得分:2)

您不需要regex,可以使用LINQ

if( _item.All(char.IsLetterOrDigit) 
    && _item.Count(char.IsLetter) >= 6
    && !char.IsDigit(_item[0])

答案 2 :(得分:1)

试试这个

  ^[a-zA-z][a-zA-Z0-9]{5,25}*$

将25替换为您的角色最大长度

Demo

答案 3 :(得分:1)

  

如何验证字符串是否以char开头且至少包含6   它的。

你可以在没有REGEX的情况下做到这一点:

string str = "AB123213CDF";
if (!string.IsNullOrEmpty(str) && // for empty string
    char.IsLetter(str[0]) && //Starts with character
    str.Count(char.IsLetter) >= 6)   //Contains atleast 6 letters
{
    //valid
}
else
{
   //invalid
}