[英]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]
-數字0
到1
后跟0
到9
之間的任意數字 |
- 要么 2[0-3]
-數字2
后跟0
到3
之間的任意數字 :
-文字:字符 ([0-5][0-9])
-從0
到5
的數字,后跟0
到9
之間的任何數字 (?::([0-5][0-9]))?
?:
-非捕獲組 :
-文字:字符 ([0-5][0-9])
-從0
到5
的數字,后跟0
到9
之間的任何數字 ?
-意味着先前的說法應該是有0或1的時間(所以它不必在那里)。 $
-這是句子必須結尾的地方 以下正則表達式應該起作用: /^\\d{2}:\\d{2}(?::\\d{2})?$/
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.