2013-09-05 2 views
1

날짜 dd-mm-yyyy의 정규식 형식은 무엇입니까? 다음은 사용 된 코드이지만 작동하지 않는 코드입니다.날짜 dd-mm-yyyy의 정규식 형식은 무엇입니까?

[Required(ErrorMessage = "Activation date is required")] 
     [Display(Name = "Activation date")] 
     [RegularExpression(@"^([1-9]|0[1-9]|1[0-9]|2[0-9]|3[0-1])[-/.]([1-9]|0[1-9]|1[0-2])[-/.](1[9][0-9][0-9]|2[0][0-9][0-9])$", ErrorMessage = "Enter proper date")] 
+1

는 사전 구축 된 검증 방법이되지 않습니다 정규식을하려고? 정규식을 사용하여 날짜 논리가 아닌 형식의 유효성을 검사 할 수 있습니다. – nhahtdh

+1

http://stackoverflow.com/questions/3594496/asp-net-mvc-2-model-validation-regex-validator-fails를 확인하십시오. – Amit

답변

0

정규식을 통해 날짜를 확인하는 것은 매우 어려울 것입니다. 예를 들어, 29-02-yyyy으로 주어진 경우 지정된 연도가 윤년인지 어떻게 확인하겠습니까?

더 나은 대안은 프로그램 방식으로 유효성 검사기를 사용하는 것입니다. 하나를 사용하는 방법을 확인하십시오 here.

다른 접근법은 DateTime.TryParse method을 사용하는 것입니다. 반환 된 부울 값을 쉽게 확인하여 유효한 날짜가 있는지 여부를 확인할 수 있습니다.

0

^(((((0[1-9])|(1\d)|(2[0-8]))-((0[1-9])|(1[0-2])))|((31-((0[13578])|(1[02])))|((29|30)-((0[1,3-9])|(1[0-2])))))-((20[0-9][0-9]))|(29-02-20(([02468][048])|([13579][26]))))$ 
관련 문제