Javascript 逗号分隔字符串的正则表达式验证
我需要在客户端验证和输入字符串 以下是字符串的示例: 1:30-1:34, 1:20-1:22, 1:30-1:37, 1:30-1:34, 1:20-1:22, 1:30-1:37, 基本上是视频的时间码 这可以用正则表达式完成吗 我的头撞在墙上Javascript 逗号分隔字符串的正则表达式验证,javascript,regex,validation,Javascript,Regex,Validation,我需要在客户端验证和输入字符串 以下是字符串的示例: 1:30-1:34, 1:20-1:22, 1:30-1:37, 1:30-1:34, 1:20-1:22, 1:30-1:37, 基本上是视频的时间码 这可以用正则表达式完成吗 我的头撞在墙上 ^(?:\b\d+:\d+-\d+:\d+\b(?:, )?)+$ 可能会起作用;至少它符合你的例子。但您可能需要添加一些边缘案例,以使匹配/不匹配的规则更清晰 ^ # Start of string (?: # Try
^(?:\b\d+:\d+-\d+:\d+\b(?:, )?)+$
可能会起作用;至少它符合你的例子。但您可能需要添加一些边缘案例,以使匹配/不匹配的规则更清晰
^ # Start of string
(?: # Try to match...
\b # start of a "word" (in this case, number)
\d+ # one or more digits
: # a :
\d+ # one or more digits
- # a dash
\d+ # one or more digits
: # a :
\d+ # one or more digits
\b # end of a "word"
(?:, )? # optional comma and space
)+ # repeat one or more times
$ # until the end of the string
下面是一个简单的表示。我假设字符串的形式与您显示的完全相同。这可能是一个很好的起点。如果您提供更具体的要求,我将改进正则表达式 ([0-9]+:[0-9]{1,2}-[0-9]+:[0-9]{1,2},\w*)+ 解释(灵感来源于上面的Tim) [0-9]+ #一个或多个数字
: # 冒号
[0-9]{1,2} #单个数字或一对数字
- #破折号
, #逗号
\w* #可选空白
你的要求是什么?第二个数字必须大于第一个吗?模式是否始终为#:###,直到9999:59?要确保范围始终对regex有效不是一件容易的事。什么样的字符串被认为是验证的好/坏字符串?