2012-01-12 17 views
8

Próbowałem następujący kod do sprawdzania poprawności tylko cyfry dla sprawdzania numeru kontaktowego w aplikacji internetowej Mvc.MVC sprawdzanie poprawności tylko liczby wyrażeń regularnych?

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

Ale wyrażenie sprawdzania poprawności nie działa.

Dla numeru kontaktowego Chcę tylko akceptować cyfry. Może to być 10-cyfrowy numer telefonu komórkowego lub numer stacjonarny.

+1

Co nie działa? – KMan

+3

Jaki format powinien mieć numer kontaktowy? Czy może zawierać spacje lub myślniki? – WDuffy

+1

zdefiniować "poprawnie", co jest w tym niewłaściwe? –

Odpowiedz

7

/ / to metoda javascript do zbudowania obiektu literalnego wyrażenia regularnego. W .NET nie powinieneś go używać.

Spróbuj wykonać następujące czynności:

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

lub jeśli chcesz dokładnie 10 cyfr:

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

Jeśli nie mają żadnych innych ograniczeń niż tylko numerami, to powinno pasować:

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

, więc w zasadzie używasz wyrażenia regularnego do określenia, czy ciąg znaków składa się z samych cyfr. – Zapnologica

+0

@Zapnologica Rzeczywiście. – gdoron

+0

Dziękuję, sir, Twoja odpowiedź naprawdę mi pomoże –

0

To zadziałało dla mnie:

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