regex HH:MM:SS的正则表达式

vwkv1x7d  于 2023-02-10  发布在  其他
关注(0)|答案(5)|浏览(161)

我有一个匹配HH:MM的正则表达式,例如12:23,它是:

function IsValidTime(timeString)
{
    var pattern = /^\d?\d:\d{2}$/;
    if (!timeString.match(pattern))
        return false;
}

如何更改此行:

    • 变量模式=/^\d?\d:\d {2} $/;**

检查是否有如下秒格式的字符串:* * 时:分:秒**例如12:23:05

6psbrbz9

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小时时间,前导零可选。

xj3cbfub

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]字符“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

6qftjkof

6qftjkof3#

基于您的正则表达式来检测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 ...

az31mfrm

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

odopli94

odopli945#

enter code here

x一个一个一个一个x一个一个二个x

相关问题