0

我正在使用 TextBox 输入用户名,在这里我想验证该框仅包含以大写字母开头并以简单字母开头的字母。为此,我使用以下代码,即使它正在验证,但如果我在一些字母后输入一个数字,它不能识别,请有人帮我找到问题。

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

5 回答 5

3

试试这个:

if (!Regex.IsMatch(textBox3.Text, @"[A-Z][a-zA-Z\s\'-]*")) 
    { 
        errorProvider2.SetError(textBox3, "Only use alphabates"); 
    } 
于 2012-10-08T06:40:47.480 回答
2

使用这种模式

^[AZ]?[az]*$

于 2012-10-08T06:40:39.233 回答
0

试试这个:

string input = textBox3.Text;
Regex.IsMatch(input, @"^[a-zA-Z]+$");
于 2012-10-08T06:35:22.100 回答
0

试试这个正则表达式,它可能会对你有所帮助。

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

它以大写字母开头,后跟零个或多个任意大小写的字母。

于 2012-10-08T06:35:56.533 回答
0

这将起作用。满足您的所有条件:

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

[A-Z]{1}- 将第一个字母与大写匹配,并且只匹配一次。
[a-z]+ - 仅匹配小写字母一次或多次
$- 标记字符串的结尾,因此不再匹配数字

于 2012-10-08T06:51:34.407 回答