C# MVC 4正则表达式视图模型-寻呼机或手机号码
我试图让用户使用下面的正则表达式输入多个由逗号、空格或分号分隔的5位寻呼机或10位电话号码:C# MVC 4正则表达式视图模型-寻呼机或手机号码,c#,regex,asp.net-mvc,C#,Regex,Asp.net Mvc,我试图让用户使用下面的正则表达式输入多个由逗号、空格或分号分隔的5位寻呼机或10位电话号码: [RegularExpression("([0-9]{5|10}([ ,;]+)?)+", ErrorMessage = @"Please enter either 5 digit or 10 digit numbers separated by a space, comma or semicolon")] [DisplayName(@"Pager/Mobile Numbers (e.g 0402123
[RegularExpression("([0-9]{5|10}([ ,;]+)?)+", ErrorMessage = @"Please enter either 5 digit or 10 digit numbers separated by a space, comma or semicolon")]
[DisplayName(@"Pager/Mobile Numbers (e.g 0402123499; 0302039855, 12345 67890; 20123) ")]
public string MobileOrSmsNumbers { get; set; }
这是行不通的。此外,用户不应使用两个空格或逗号和分号或空格和逗号等分隔数字。应该只有一个分隔字符。最后一个数字不需要任何东西。此操作:
^[0-9]{5}|[0-9]{10}[,;]+$
{5 | 10}无效-请参见此处:
另外-您的样品不正确。04021234仅为8个数字编辑:这就完成了。最后一个条目将没有分号、逗号或空格
([0-9]{5}([;, ])|[0-9]{10}([;, ]))*([0-9]{5}|[0-9]{10})+
以下是它测试的内容:
12345; 1234567890; 23495129039499012312我修复了这个例子。@DiwasPathak它仍然打破了限制,当用“;”分隔时,应该只有一个分隔字符分号加空格:看起来还是不对。示例中的数字用分号和空格分隔;或逗号和空格,但您的正则表达式允许分号、逗号或空格。是哪一个?此外,正则表达式末尾的+不正确。是的,我希望它用分号、逗号或空格分隔。这就是问题所在。为什么+不正确?它基本上意味着一个或多个..[0-9]{5}|[0-9]{10}已经匹配了五位或十位数字。通过添加+,您允许最后一个数字包含十五、二十、三百。。。任意位数,只要是5的倍数。