簡體   English   中英

需要一個正則表達式來驗證時間格式

[英]Need a Regular Expression for the validation of Time format

我有一個datetime文本框,其中同時包含date和time。 我想驗證時間。對於我驗證的日期。 例如,日期時間值為2013年4月23日下午05:26;

我需要一個可以驗證時間的正則表達式,格式為00:00:00。 全部為數字,將不會輸入特殊字符或數字以外的其他字符。 我只想驗證dd:dd:dd均為2位數字。 我可以輸入例如10:10:10和01:02。

我已經嘗試過這樣的js方式。我對regex。不了解,所以我想提出建議。

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;
}

感謝您的建議。

/^([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

正則表達式驗屍:

  • ^ -這是句子必須開始的地方
  • ([0-1][0-9]|2[0-3])
    • [0-1][0-9] -數字01后跟09之間的任意數字
    • | - 要么
    • 2[0-3] -數字2后跟03之間的任意數字
  • : -文字:字符
  • ([0-5][0-9]) -從05的數字,后跟09之間的任何數字
  • (?::([0-5][0-9]))?
    • ?: -非捕獲組
    • : -文字:字符
    • ([0-5][0-9]) -從05的數字,后跟09之間的任何數字
    • ? -意味着先前的說法應該是有0或1的時間(所以它不必在那里)。
  • $ -這是句子必須結尾的地方

以下正則表達式應該起作用: /^\\d{2}:\\d{2}(?::\\d{2})?$/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM