2012-10-08 40 views
0

我正在使用TextBox輸入用戶名,這裏我想要驗證該框僅包含字母表,該表單以大寫字母開頭並以簡單字母繼續。爲此,我使用下面的代碼,即使它的驗證,但如果我輸入一個字母數字之後它沒有識別,請有人幫我找到問題。如何驗證TextBox值是C#Windows窗體應用程序中的字符串

if (!Regex.IsMatch(textBox3.Text, @"[a-zA-Z]")) 
{ 
    errorProvider2.SetError(textBox3, "Only use alphabates"); 
} 

回答

0

這將工作。滿足你所有條件:

@"^[A-Z]{1}[a-z]+$" 

[A-Z]{1} - 匹配的第一個字母爲大寫,只有一次。
[a-z]+ - 僅匹配小寫字母一次或多次
$ - 表示字符串的結束,所以數字不匹配任何更多

0

試試這個:

string input = textBox3.Text; 
Regex.IsMatch(input, @"^[a-zA-Z]+$"); 
+0

不滿足第一個字母是大寫字母,它將接受小寫也 – Cdeez

0

試試這個正則表達式,它可以幫助你。

if (!Regex.IsMatch(textBox3.Text, @"^[A-Z][A-Za-z]*$")) 
{ 
    errorProvider2.SetError(textBox3, "Only use alphabets"); 
} 

它以大寫字母開頭,後面跟零個或多個字母。 ?

+0

這將失敗,當它是像** eEE **的東西,它仍然接受 – Cdeez

2

使用這種模式

^[A-Z] [A-Z] * $

3

試試這個:

if (!Regex.IsMatch(textBox3.Text, @"[A-Z][a-zA-Z\s\'-]*")) 
    { 
     errorProvider2.SetError(textBox3, "Only use alphabates"); 
    } 
+0

@ user1724557這將接受空間,單引號和負號。 –

+0

這裏的文本框用於用戶名,所以名稱之間可能會有空格,連字符。 – 2012-10-08 07:10:41

+0

但是是連字符和單引號?或字母表的空間部分? –

相關問題