2012-10-08 38 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

但是是连字符和单引号?或字母表的空间部分? –

相关问题