我有一个匹配HH:MM的正则表达式,例如12:23,它是:
function IsValidTime(timeString) { var pattern = /^\d?\d:\d{2}$/; if (!timeString.match(pattern)) return false; }
如何更改此行:
检查是否有如下秒格式的字符串:* * 时:分:秒**例如12:23:05
6psbrbz91#
/^(?: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小时时间,前导零可选。
xj3cbfub2#
像下面这样简单的方法应该可以奏效:
/([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/g
([01][0-9]|2[0-3])
[01][0-9]
|
2[0-3]
:
[0-5][0-9]
Regex101
6qftjkof3#
基于您的正则表达式来检测99:99:99,下面的正则表达式就足够了:
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 ...
IsValidTime
az31mfrm4#
验证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); }
时间验证(“12:30 PM”)//返回真时间验证(“12:30“)//返回false时间验证(“27:30 AM”)//返回false
odopli945#
enter code here
x一个一个一个一个x一个一个二个x
5条答案
按热度按时间6psbrbz91#
对于24小时制,必须使用前导零。
对于24小时时间,前导零可选。
对于12小时的时间,必须使用前导零。
对于12小时时间,前导零可选。
xj3cbfub2#
像下面这样简单的方法应该可以奏效:
正则表达式解释:
([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之间的任意数字演示:
Regex101
6qftjkof3#
基于您的正则表达式来检测
99:99:99
,下面的正则表达式就足够了:或者更复杂一点
但更好的是(因为它正确地匹配范围):
它符合函数名
IsValidTime
...az31mfrm4#
验证javascript格式为”hh:mm am/pm“的时间
时间验证(“12:30 PM”)//返回真
时间验证(“12:30“)//返回false
时间验证(“27:30 AM”)//返回false
odopli945#
x一个一个一个一个x一个一个二个x