Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC 4正则表达式视图模型-寻呼机或手机号码_C#_Regex_Asp.net Mvc - Fatal编程技术网

C# MVC 4正则表达式视图模型-寻呼机或手机号码

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

我试图让用户使用下面的正则表达式输入多个由逗号、空格或分号分隔的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 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的倍数。