Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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 如何使用正则表达式验证12小时时间_Javascript_Php_Regex - Fatal编程技术网

Javascript 如何使用正则表达式验证12小时时间

Javascript 如何使用正则表达式验证12小时时间,javascript,php,regex,Javascript,Php,Regex,我想在PHP、Javascript和HTML中验证一个12小时的时间格式,比如(01:05 PM) 我试过这个: ((([1-9])|(1[0-2])):([0-5])(0|5)\s(A|P)M) 但我不知道为什么它不起作用。试试这个: ((0[1-9])|(1[0-2]):([0-5])([0-9])\s(A | p)M) 测试正则表达式 对于区分大小写的AM | PM | AM | PM,请尝试此选项 :` ((0[1-9])|(1[0-2]):([0-5])(0-5])s(A | p |

我想在PHP、Javascript和HTML中验证一个12小时的时间格式,比如(01:05 PM)

我试过这个:

((([1-9])|(1[0-2])):([0-5])(0|5)\s(A|P)M)
但我不知道为什么它不起作用。

试试这个:

((0[1-9])|(1[0-2]):([0-5])([0-9])\s(A | p)M)

测试正则表达式

对于区分大小写的AM | PM | AM | PM,请尝试此选项 :`

((0[1-9])|(1[0-2]):([0-5])(0-5])s(A | p | A | p)(M |)

`试试看

^(1[0-2]|0?[1-9]):[0-5][0-9] (AM|PM)$ 

您可以测试

这将适用于pm/am和pm/am,前缀为或不为0(零)


@Gopal你确定会将小时数与前导零相匹配(根据OP)?我的意思是我需要AM和PM不应该是这种情况sensitive@A.MO-因为它需要是01:20或01:25(最后一组应该是
([0-5][0-9])
;-)(((0[1-9])(1[0-2]):([0-5])(0 | 5)\s(A | P | A | P)(M)):试试这个谢谢伙计们它成功了注意这个答案只有在分钟数是5的倍数时才有效,这在问题中可能不是很明显。就像在
0
之后移除符咒一样,要求在小时内前导零。开始时的
^
非常重要,因为它可以防止
17:30 PM
在用户错误输入24小时时间格式时被误认为
7:30 PM
/^(0?[1-9]|1[012])(:[0-5]\d) [APap][mM]$/