2012-01-12 106 views
8

我尝试了以下代码,用于Mvc Web应用程序中联系人验证的仅数字验证。Mvc验证正则表达式只有数字?

[RegularExpression(@"/(^\(\d{10})?)$/", ErrorMessage = "Please enter proper contact details.")] 
[Required] 
[Display(Name = "Contact No")] 
public string ContactNo { get; set; } 

但验证表达式不起作用。

对于联系号码,我只想接受数字。它可以是一个10位数的手机号码或固定电话号码。

+1

什么不起作用? – KMan 2012-01-12 17:56:52

+3

联系电话号码是什么格式?它是否可以包含空格或破折号? – WDuffy 2012-01-12 17:58:25

+1

定义“正确”,有什么不妥之处? – 2012-01-12 17:59:08

回答

7

/ /是javascript方法来构建一个正则表达式字面值对象。在.NET中,你不应该使用它。

尝试以下操作:

@"^\((\d{10}?)\)$" 

,或者如果你想要的是10个数字:

@"^(\d{10})$" 
14

如果没有不仅仅是数字以外的任何限制,这应该符合:

[RegularExpression(@"^\d+$", ErrorMessage = "Please enter proper contact details.")] 
[Required] 
[Display(Name = "Contact No")] 
public string ContactNo { get; set; } 
+0

所以基本上你使用正则表达式来确定字符串是否都是数字。 – Zapnologica 2015-09-16 09:15:19

+0

@Zapnologica的确。 – gdoron 2015-09-16 10:55:50

+0

谢谢先生,你的回答实际上对我有帮助 – 2015-10-06 04:22:40

0

这工作对我来说:

[RegularExpression(@"^[0-9]{10}", ErrorMessage = "Please enter proper contact details.")]