正则表达式防止输入破折号

Regular expression prevent dash from being entered

我的 .NET MVC 文件中有以下正则表达式:

   [RegularExpression(@"[a-zA-Z0-9\-_]{0,10}$", ErrorMessage = "Please
   enter a valid User Code.")]

我希望字符不超过10个字符。它应该只允许字母数字值并防止任何空格。

上面的代码有效,但用户可以输入破折号“-”。我该如何防止这种情况发生。

您需要从字符 class [] 中删除 \- 并将 ^ 放在模式的开头以声明字符串的开头。

@"^[a-zA-Z0-9]{0,10}$"

如果不想匹配空字符串,就设为{1,10}.