2013-04-23 2 views
0

날짜 및 시간을 모두 포함하는 datetime 텍스트 상자가 있습니다. 나는 유효 기간을 확인하고 싶습니다. 날짜는 유효합니다. 예 : datetime 값은 04/23/2013 05:26 pm입니다.시간 형식의 유효성 검사를위한 정규식 필요

00:00:00과 같은 형식의 시간을 확인할 수있는 정규식이 필요합니다. 은 모두 숫자이며 특수 문자 또는 숫자 이외의 문자는 입력되지 않습니다. dd : dd : dd의 유효성을 확인하기 만하면됩니다. 모두 2 자리입니다. 예를 들어 10:10:10과 01:02를 입력 할 수 있습니다.

나는 this.i와 같은 js 방법으로 시도했지만 regex.so에 대한 지식이 없기 때문에 제안을 원합니다.

function ValidateDate() 
{ 
    //getting the value from textbox 
    var dateVal=document.getElementById('txtDateTime').value; 
    //after one space there is time..as i am using a datepicker and timepicker format 
    var time=dateVal.split(' ')[1]; 
    var isValidTime=CheckTime(time); 
} 


function CheckTime(time) 
{ 
var timePart=time.split(":"); 
var hour = timePart[0]; 
var minute = timePart[1]; 
var second = timePart[2]; 


if((parseInt(hour,10)<0) || (parseInt(hour,10)>59)) 
{ 
    return false; 
} 

if((parseInt(minute)>59) || (parseInt(minute)<0)) 
    {  
    return false;  

    } 

if((parseInt(second)<0) || (parseInt(second)>59)) 
    { 
     return false; 
    } 

    return true; 
} 

의견을 보내 주셔서 감사합니다.

+4

을 종료해야하는 곳은? – NINCOMPOOP

+3

stackoverflow에 대해 배웠습니다 한가지가 있다면, "아무 코드도 얻지 못했습니다", 나는 코드가 없기 때문에 여러 줄로 투표했습니다. 그래서 당신이 일한 코드를 넣어보십시오 :-) –

+1

예, 인터넷 검색을 시도해보십시오. 조금 전에 먼저 .. 게시 : –

답변

0

다음 정규식이 작동해야합니다 : /^\d{2}:\d{2}(?::\d{2})?$/.

+0

좋은 h2ooooooo의 답변을 읽은 후 : 시간을 확인하기에 충분하지 않습니다. 형식을 준수하는지 확인하십시오. 코드를 통해 유효성 검사를해야합니다 (이를 위해 캡처 그룹을 사용하여 hh : mm (: ss)을 얻을 수 있습니다). HTML5와 함께 날짜 유형이나 패턴 (정규 표현식)을 통한 유효성 검사가 있어야하지만,이 지원은 다양한 용도로는 충분하지 않다고 생각합니다. – ShinTakezou

5

/^([0-1][0-9]|2[0-3]):([0-5][0-9])(?::([0-5][0-9]))?$/g의 간단한 정규 표현식이 작동합니다.

10:00:00 - OK 
01:00:00 - OK 
60:00:00 - Fail 
30  - Fail 
30:00 - Fail 
23:59 - OK 
24:00 - Fail 
23:60:60 - Fail 
23:59:59 - OK 

정규식 부검 :

  • ^ - 1-009 사이 숫자 뒤에 숫자 - 문장
  • ([0-1][0-9]|2[0-3])
    • [0-1][0-9]를 시작해야하는 곳이다
    • | - OR
    • 2[0-3]-03
  • : 사이 숫자 뒤에 숫자 2 - 리터럴 - 사이 숫자 뒤에 5-0에서 숫자 캐릭터
  • ([0-5][0-9])09
  • (?::([0-5][0-9]))?
    • ?: - 비 캡처 그룹
    • : - 리터럴 : 문자
    • ([0-5][0-9])-09
    • ? 사이 숫자 뒤에 5-0에서 숫자 - 이전 문장이 있어야한다는 것을 의미 0 번 또는 1 번 (따라서 은 거기에이 없습니다).
  • $ - 당신은 아무것도 시도해 봤어 문장
관련 문제