2012-01-12 39 views
8

Tôi đã thử mã sau để xác thực chữ số để xác thực số liên lạc trong ứng dụng web Mvc.Chỉ các biểu thức chính quy xác thực Mvc?

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

Nhưng biểu thức xác thực không hoạt động.

Đối với số liên lạc tôi muốn chỉ chấp nhận chữ số. Nó có thể là số di động gồm 10 chữ số hoặc số điện thoại cố định.

+1

Điều gì không hoạt động? – KMan

+3

Số liên lạc nào sẽ là định dạng nào? Nó có thể chứa dấu cách hoặc dấu gạch ngang không? – WDuffy

+1

xác định "đúng", điều gì không phù hợp? –

Trả lời

7

/ / là cách javascript để xây dựng đối tượng bằng chữ thường. Trong .NET bạn không nên sử dụng nó.

Hãy thử như sau:

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

hoặc nếu bạn muốn chính xác 10 chữ số:

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

Nếu không có bất kỳ hạn chế khác so với chỉ số, điều này sẽ phù hợp:

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

vì vậy về cơ bản bạn sử dụng regex để xác định xem chuỗi có phải là tất cả các chữ số hay không. – Zapnologica

+0

@Zapnologica Thật vậy. – gdoron

+0

Cảm ơn, câu trả lời của bạn thực sự giúp tôi –

0

Điều này làm việc cho tôi:

[RegularExpression(@"^[0-9]{10}", ErrorMessage = "Please enter proper contact details.")] 
Các vấn đề liên quan