我有一个匹配 HH:MM 例如 12:23 的正则表达式,它是:
function IsValidTime(timeString)
{
var pattern = /^\d?\d:\d{2}$/;
if (!timeString.match(pattern))
return false;
}
如何更改此行:
var 模式 = /^\d?\d:\d{2}$/;
检查以秒为格式的字符串,如下所示:HH:MM:SS例如 12:23:05
我有一个匹配 HH:MM 例如 12:23 的正则表达式,它是:
function IsValidTime(timeString)
{
var pattern = /^\d?\d:\d{2}$/;
if (!timeString.match(pattern))
return false;
}
如何更改此行:
var 模式 = /^\d?\d:\d{2}$/;
检查以秒为格式的字符串,如下所示:HH:MM:SS例如 12:23:05
/^(?: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 小时时间,前导零可选。
像下面这样简单的东西应该可以工作:
/([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 之间的任何数字在 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
根据您用于检测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
...