逗号分隔字符串的正则表达式验证

时间:2011-05-16 14:36:25

标签: javascript regex validation

我需要验证并输入字符串客户端。

以下是字符串的示例:

1:30-1:34, 1:20-1:22, 1:30-1:37, 

这基本上是视频的时间码。

这可以用正则表达式完成吗?

把头靠在墙上......

2 个答案:

答案 0 :(得分:2)

^(?:\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

答案 1 :(得分:0)

以下是一个简单的表示。我假设字符串具有与您显示的完全相同的形式。这可能是一个很好的起点。如果你提供更具体的要求,我会改进正则表达式。

  

([0-9] +:[0-9] {1,2} - [0-9] +:[0-9] {1,2},\ W *)+

解释(灵感来自Tim上面)

  

[0-9] +#一个或多个数字
  :#A冒号
  [0-9] {1,2} #A单个数字或一对数字
   - #A破折号   ,#逗号
  \ w * #Optional whitespace