2012-11-08 2 views
0

UI에 날짜 입력 컨트롤이 있습니다. 숫자 입력시 날짜를 자동 완성합니다. 현재 사용일, 월 텍스트 입력 : 월 부분에 지능형 정규식?

: http://regexpal.com/

\d{1,2}(\.|\/|-)\d{1,2} 

테스트는 작업을 볼 수 있습니다.

기본적으로 1 자릿수 또는 2 자릿수 뒤에 ./-, 1 또는 2 자릿수 중 하나가옵니다. 예 : 1월 9일, 1/2, 1/1, 일치 내가 뭘 찾고있어

(그리고 수 없습니다!) :

을 숫자의 두 번째 세트 (월 부분) 일 경우 0 또는 1, 기본적으로있어 다른 자리

자리의 두 번째 세트 2-9 인 경우, 경기

, 감사

브라이언

,536 필요
+0

은 현지화 예정 날짜입니까? 두 번째 그룹은 월을 표시 할 필요가 없습니다. – Vlad

+0

이 시점에서 현지화를 제공하거나 일 또는 월의 유효성을 확인하지 않아도됩니다. – Ryan

답변

2

숫자 범위는 정규식에서 약간 성가 시며 형식이 검증 될 때 별도의 단계에서 수행해야합니다.

\d{1,2}[/.-](0?[2-9]|1[0-2]|01|1[/.-]) 

(코멘트에서 사람을 포함하여) 모든 요구 사항을 충족해야하지만 여기에 정규 표현식입니다. 가능한 개월 :

2, 3, ..., 9 
01, 02, 03, ..., 09 
10, 11, 12 
1/, 1., 1- 
+0

http://regexpal.com/에서 테스트되었습니다. 1/1은 일치하는 것으로 표시되지만 월이 1 또는 0이면 다른 숫자가 표시되어야합니다. – Ryan

+0

@BrianBishop 괜찮습니다. 내 대답을 편집했습니다. –

+0

고맙습니다. 지금 매우 가까워지고 있습니다 :-) 사용자가 1/1을 입력하면 일치해야하는 한 가지 문제 만 있습니다. 따라서 달이 1로 시작하고/.-가 뒤에 오는 경우 일치해야합니다. – Ryan