Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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_Jquery_Regex - Fatal编程技术网

Javascript 这个日期/时间的正则表达式有什么问题

Javascript 这个日期/时间的正则表达式有什么问题,javascript,jquery,regex,Javascript,Jquery,Regex,我在伦敦找到了一个好的正则表达式。为了便于参考,它是 ^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0]\d|[1][0-2])(\:[0-5]\d){1,2})*\s*([aApP][mM]{0,2})?$ 我对正则表达式一无所知,所以我根本不知道如何调试它。我从这个jQuery插件中得到一个日期/时间字符串,格式如下: "09/02/2012 14:51" //Fail 然而,上面是一个失败字符串的例

我在伦敦找到了一个好的正则表达式。为了便于参考,它是

^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0]\d|[1][0-2])(\:[0-5]\d){1,2})*\s*([aApP][mM]{0,2})?$
我对正则表达式一无所知,所以我根本不知道如何调试它。我从这个jQuery插件中得到一个日期/时间字符串,格式如下:

"09/02/2012 14:51" //Fail
然而,上面是一个失败字符串的例子,尽管我觉得这很好。当我获得当前时间时,它将通过:

"12/22/2012 00:01" //Pass

有人看到这个正则表达式有问题吗?

正则表达式只接受am/pm格式的小时数,从
0
12

((\s([0]\d|[1][0-2])(\:[0-5]\d){1,2})*\s*([aApP][mM]{0,2})?)
     ^-------------
     This block represents the hours, and its range is 0-12

考虑白天的时间,从0到23,将下列内容添加到小时部分:

(0\d|1[0-9]| 2[0-3])

生成最终正则表达式:

/^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s(([0]\d|[1][0-2])|(0\d|1[0-9]|2[0-3]))(\:[0-5]\d){1,2})*\s*([aApP][mM]{0,2})?$

学习正则表达式-这是一个很有价值的工具。我认为你的例子是交换的。失败的是第一个。哦,糟了。。我在看另一个接受24小时时间的正则表达式,甚至没有意识到我选择了一个不接受24小时时间的正则表达式。谢谢