正则表达式匹配,但不应该

Jam*_*mie 2 regex match asp-classic

这是我的代码,检查是否只填写了字母数字字符,但是当我输入类似adasd @#$的东西时,它仍然匹配,我不知道为什么.知道如何解决这个问题吗?

Match Match = Regex.Match(value.ToString(), "[0-9a-zA-Z]");
                if (Match.Success)
                {
                    return true;
                }
                else
                {
                    return false;
                }   
Run Code Online (Sandbox Code Playgroud)

小智 9

你有什么匹配任何包含一个字母或数字的字符串.

您需要将锚点添加到字符串(^$)的开头和结尾,以及+允许多个字符:

"^[0-9a-zA-Z]+$"
Run Code Online (Sandbox Code Playgroud)

这意味着"整个字符串必须由字母和数字组成".

+还要求有字符串中的至少一个字符.这可能是一件好事,但如果你想匹配空字符串,你也可以将它改为*.