C# - 使用带有if语句的正则表达式

Dan*_*Dan 4 .net c# regex windows

我有一些代码检查字段输入与正则表达式,虽然由于某种原因(无论我在字段中放置什么,它返回flase.有什么我错过了吗?

private void textBox5_Validating(object sender, CancelEventArgs e)
{
    String AllowedChars = @"^a-zA-Z0-9.$";
    if (Regex.IsMatch(textBox5.Text, AllowedChars))
    {
        MessageBox.Show("Valid");
    }
    else
    {
        MessageBox.Show("Invalid");
    }
}
Run Code Online (Sandbox Code Playgroud)

nai*_*sts 7

正则表达式对我没有意义.这个会(注意用于定义字母表的方括号):

String AllowedChars = @"^[a-zA-Z0-9]*$";
Run Code Online (Sandbox Code Playgroud)


Ed *_*pel 6

你想要的是将这些字符分组并允许0或更多:

@"^[a-zA-Z0-9.]*$"
Run Code Online (Sandbox Code Playgroud)

否则,你可以发布"A-ZA-Z0-9"和一个或多个字符.


Jon*_*Jon 5

可能不正确的正则表达式.也许你这意味着:

String AllowedChars = @"^[a-zA-Z0-9]*$";
Run Code Online (Sandbox Code Playgroud)

这将允许任何数字(包括没有)字母数字字符.我删除了句点(匹配任何字符),因为它在这种情况下没有多大意义.