Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 逗号分隔字符串的正则表达式验证_Javascript_Regex_Validation - Fatal编程技术网

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

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

我需要在客户端验证和输入字符串

以下是字符串的示例:

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 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有效不是一件容易的事。什么样的字符串被认为是验证的好/坏字符串?