Regex 正则表达式Asp.NETMVC
我试图获得一个用户名验证,其中以下文本是有效的Regex 正则表达式Asp.NETMVC,regex,asp.net-mvc,Regex,Asp.net Mvc,我试图获得一个用户名验证,其中以下文本是有效的 试验 测试2 Tes2 测试123 123测试 1234 测试单元56 test-6ty 但不是下面的 Tes(最小长度) Test@123(特别字符) 我在模型中添加了以下注释,但似乎对正确的文本也不起作用。继续获取错误消息 [RegularExpression(@"^[a-zA-Z0-9\-_]$", ErrorMessage = "Only alphanumeric, hyphen and underscores are allowe
- 试验
- 测试2
- Tes2
- 测试123
- 123测试
- 1234
- 测试单元56
- test-6ty
- Tes(最小长度)
- Test@123(特别字符)
[RegularExpression(@"^[a-zA-Z0-9\-_]$", ErrorMessage = "Only alphanumeric, hyphen and underscores are allowed for User name.")]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 4)]
从您的示例来看,此正则表达式似乎适合您:
@"^[a-zA-Z0-9_-]{4,10}$"
{4,10}
将输入的最小长度设置为4
,将最大长度设置为10
。无论您希望保持什么限制,都可以更改它。您是说当您提交时,无论是“Tes”还是Test@123“?否错误消息只会显示一次正确的信息。哪一条错误消息?正则表达式错误消息”“用户名只允许字母数字、连字符和下划线。”您只允许使用1个字符-使用^[a-zA-Z0-9\-\\-\*$
(或^[a-zA-Z0-9\-\\\\\\\\\\\\\\\\\\-{4100}$
,按照anubhava的回答中的建议将这两个字符组合在一起