2014-07-27 2 views
0

누구나 이것을 작성할 수있는 더 좋은 방법을 생각할 수 있습니까? 그것은 작동하지만 약간 추한 것입니다.숫자 내의 숫자에 대한 Regex 패턴

입력 데이터는 다음과 같습니다 : 125100001 개

처음 두 숫자는 년이며, 다음 두 주 수 있으며, 최근 5는 직렬이다. angular input[number] pattern 옵션의 경우 주 번호가 52를 초과하지 않음을 확인하고 싶습니다. 기본적으로 너무 여기에 $ 오류 필드 :

를 활용하는 것이입니다

그냥 일주일 부분에 대한
^\d\d(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-2]){1}\d{5}$ 
+0

프로그래밍 언어는 무엇입니까 –

+0

입력 [번호] 패턴 옵션에 대한 내 링크에 설명 된대로 Angular.js로 구현됩니다. –

+0

이것은 정규 표현식에서 이것을 완전히 수행하는 것은 좋은 생각이 아닙니다. –

답변

0

:

[0-4]\d|5[0-2] 

때문에 전체 정규식은 다음과 같습니다

^\d\d([0-4]\d|5[0-2])\d{5}$ 
+0

지적 해 주셔서 감사합니다! ghoti에서 내 원래의 논리에 관한 좋은 토론이 있었지만이 직접 내 질문에 대한 답변. –

+0

OP에서 문제가되지 않을 수도 있지만 주 번호로 '00'이 허용됩니다. – zx81

1

사용 :

-12 괄호 ([0-4][1-9]|[1-5]0|5[12])의 두 번째 세트는 주 유효성을 검사
  • : 원하는 경우 01-52
  • , 당신은 검색 할 수 있습니다 663,210

    참고

    • 괄호 (0[1-9]|1[0-2])의 첫 번째 세트는 달의 유효성을 검사합니다 그룹 1, 2 및 2가있는 각 구성 요소
  • +0

    두 번째 괄호 세트는 영리합니다.첫 번째 부분이지만, 나는 ** 제한이 없습니다 **. 00-99의 값이 유효합니다. –

    +0

    나는 그것을 놓쳤다. 웬일인지 나는 두 자릿수가 한 달이라고 생각했다. 그냥'\ d {2}'(직렬과 유사)로 변경했습니다. – zx81

    관련 문제