2012-01-12 35 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.")]