2014-02-13 25 views
0

我需要驗證字符串是否包含字母數字值和至少6個字符像ABCD檢查字符串包含char和開始使用它,並具有數字

我試着用下面的代碼,但 我沒有找到如何在字符串開始與焦炭和,包含了至少6個驗證。 該字符串可以有一個或多個數字,但不能從一個開始。

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

是否字符串必須至少6個字符總數是多少?還是它必須至少有6個字母字符,並可以包含數字?提供一些有效的字符串和不是的字符串的例子。 –

回答

2

你不需要regex,你可以用LINQ做到這一點:

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

「字符串可以有數字,但不能以它開頭」 – Habib

+1

@Habib現在注意到:)我添加了額外的條件 –

+0

他們的方式我明白,OP正在尋找一個至少包含6個字符的字符串,您的條件會通過'A12345678' – Habib

1

只是這個

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

嘗試用你的角色的最大長度更換25

Demo

+0

這將匹配至少7個字符。 – Toto

+0

是的,我現在已經更新 –

3

如何:

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

該W不符合以字母開頭並且至少有6個字符的字符串。

+0

+1保持它基於正則表達式。 –

1

如何驗證字符串是否開始與char和包含其至少6 。

你可以做,沒有正則表達式,如:

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 
} 
相關問題