Javascript,正则表达式

Javascript,正则表达式,javascript,regex,Javascript,Regex,我试图使javascript正则表达式从用户那里获取时间输入。我做了一个表达,从中抽出时间 04:00-04:59: /([4]|0[4])[:.,]([0-5][0-9])[.,/;](\d)/ 但是现在当我到达 14:00-14:30: /(14)[:.,]([0-2][1-9]|10|20|30)[.,/;](\d)/ 04:00-04:59的第一个正则表达式也从第二个正则表达式获取输入。是否有机会将它们分开,以便在用户输入时间时不会出现问题 您可以使用regex验证下面4:00到4:

我试图使javascript正则表达式从用户那里获取时间输入。我做了一个表达,从中抽出时间 04:00-04:59:

/([4]|0[4])[:.,]([0-5][0-9])[.,/;](\d)/
但是现在当我到达 14:00-14:30:

/(14)[:.,]([0-2][1-9]|10|20|30)[.,/;](\d)/

04:00-04:59的第一个正则表达式也从第二个正则表达式获取输入。是否有机会将它们分开,以便在用户输入时间时不会出现问题

您可以使用regex验证下面4:00到4:59之间的输入。请用这个


^?:0\d[4]| 0[4]:[0-5]\d$根据您的问题判断,您还没有完全准备好使用正则表达式。 另外,看一下您的问题,您正在验证时间,并且regex将不容易限制可接受的值,即0-24表示小时,0-59表示分钟

有关如何在没有正则表达式的情况下执行此操作,请参见代码段

考虑寻找一个现有的库,它已经做到了这一点,所以你不必重新发明轮子

时间='04:59' 部分=时间。拆分“:” 小时=parseIntparts[0],10 分钟=parseIntparts[1],10
isValid=hours>=0&&hours=0&&minutes看起来您得到了。你为什么要用正则表达式来解决这个问题呢?如果这是一次验证,而不是在一个实时更改上,那么为什么不编写一个函数来拆分-然后再拆分:并进行所需的验证呢?你可能不喜欢正则表达式。