Validation. js 에 중국어 날짜 인증 추가

1934 단어 JavaScript
더 읽 기
예전 에 ajax cn. org 에 동시에 발 표 된 작은 글 이 었 지만 나중에 한 친구 가 더 간편 한 방법 으로 돌 아 왔 습 니 다.
vaidation. js 는 호주 날짜 형식 검증 을 가지 고 있 기 때문에 중국어 날짜 (yyy - mm - dd, yyy / mm / dd, yyy. mm. dd) 를 검증 하려 면 스스로 확장 해 야 합 니 다. 다음은 제 가 만 든 확장 입 니 다. 부족 하면 지적 해 주 십시오!
Validation.add('validate-date-cn', 'Please use this date format: yyyy/mm/dd. For example 2006/03/17 for the 17th of March, 2006.', function(v){
    /*--     :(  )   + (    )   + (    )   --*/ 
     if(!/d{4}[.-/]d{1,2}[.-/]d{1,2}/.test(v)) 
     { 
      return false; 
     }     /*--       --*/ 
     var MonthDays=new Array(31,28,31,30,31,30,31,31,30,31,30,31);     /*--         --*/ 
     var tempArray = v.split(/[.-/]/);     var mYear = tempArray[0]; 
     var mMonth = tempArray[1];
     var mDay = tempArray[2];     /*--      --*/ 
     if(mYear <= 0 || mYear > 9999) 
     { 
      return false;
     }     /*--      --*/ 
     if(mMonth <= 0 || mMonth > 12) 
     { 
      return false; 
     }     /*--            --*/ 
     var RightDay = 0;
     if(mMonth == 2) 
      RightDay = (((mYear%4 == 0) && (mYear%100 != 0) || (mYear%400 == 0))? 29: 28);
     else 
      RightDay = MonthDays[mMonth-1];     /*--     --*/ 
     if(mDay <= 0 || mDay > RightDay) 
     { 
      return false;
     }     /*--        ,    --*/ 
     return true;

더 간단 한 방법:
/*     :(  )   + (    )   + (    )   */ if(!/^(?:([0-9]{4}-(?:(?:0?[1,3-9]|1[0-2])-(?:29|30)|((?:0?[13578]|1[02])-31)))|([0-9]{4}-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|1d|2[0-8]))|(((?:(dd(?:0[48]|[2468][048]|[13579][26]))|(?:0[48]00|[2468][048]00|[13579][26]00))-0?2-29)))$/.test(v)) { alert('false'); return false; }

이 건 윤년 이 고 뭐 고 다 생각 하 는 정칙 이 야.
정규 만세.

좋은 웹페이지 즐겨찾기