我有一个匹配HH:MM的reqular表达式,例如: 12:23它是:
function IsValidTime(timeString)
{
var pattern = /^\d?\d:\d{2}$/;
if (!timeString.match(pattern))
return false;
}
如何更改此行:
var pattern = / ^ \ d?\ d:\ d {2} $ /;
检查格式化为秒的字符串,如下所示: HH:MM:SS ,例如12时23分05秒
答案 0 :(得分:14)
/^(?:2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$/
24小时制,必须提前零。
/^(?:2[0-3]|[01]?[0-9]):[0-5][0-9]:[0-5][0-9]$/
24小时,前导零可选。
/^(?:1[0-2]|0[0-9]):[0-5][0-9]:[0-5][0-9]$/
持续12小时,必须使用前导零。
/^(?:1[0-2]|0?[0-9]):[0-5][0-9]:[0-5][0-9]$/
持续12小时,前导零可选。
答案 1 :(得分:7)
以下简单的事情应该有效:
/([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/g
([01][0-9]|2[0-3])
[01][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之间的任何数字答案 2 :(得分:0)
根据您的正则表达式检测99:99:99
,以下正则表达式就足够了:
/^\d?\d:\d{2}:\d{2}$/
或更复杂一点
/^\d?\d(?::\d{2}){2}$/
但会更好(因为它正确匹配范围):
/^(?:[01]?\d|2[0-3]):[0-5]\d:[0-5]\d$/
符合函数名称IsValidTime
...
答案 3 :(得分:0)
在javascript中将格式的时间验证为“hh:mm am / pm”
function timeValidation(strTime) {
var timeFormat = /^(?:1[0-2]|0?[0-9]):[0-5][0-9]\s?(?:am|pm)?/;
return timeFormat.test(strTime);
}
timeValidation(“12:30 PM”)//返回true
timeValidation(“12:30”)//返回false
timeValidation(“27:30 AM”)//返回false