Mvc验证正则表达式只有数字?

时间:2012-01-12 17:54:19

标签: asp.net-mvc asp.net-mvc-3 model-view-controller

我尝试使用以下代码进行数字验证,以便在Mvc网络应用中验证联系号码。

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

但验证表达不起作用。

对于联系电话,我只想接受数字。它可以是10位移动号码或固定电话号码。

3 个答案:

答案 0 :(得分:14)

如果除了数字之外没有任何限制,这应该适合:

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

答案 1 :(得分:8)

/ /是构建正则表达式文字对象的javascript方式。在.NET中,你不应该使用它。

尝试以下方法:

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

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

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

答案 2 :(得分:0)

这对我有用:

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