【发布时间】:2014-03-16 22:58:13
【问题描述】:
我创建了一个正则表达式来验证时间,如下所示:([01]?\d|2[0-3]):[0-5]\d。
匹配正确:08:00、09:00、9:00、13:00、23:59。
匹配错误:10.00、24:00、25:30、23:62、afdasdasd、ten。
问题
如何反转 javascript 正则表达式以验证是否不是时间?
注意 - 我已经看到了几种在堆栈上执行此操作的方法,但似乎无法让它们适用于我的表达式,因为我不明白反转表达式应该如何工作。
回答
最简单的解决方案是反转 javascript 语句而不是正则表达式本身。
if (!(/^(([01]?\d|2[0-3]):[0-5]\d)/.test(obj.value))
只需添加!创建一个 if NOT 语句。
【问题讨论】:
-
不要反转正则表达式,反转检查它的
if。 -
否定验证结果似乎比为任何不是时间的东西创建正则表达式更简单。
-
我曾考虑过这一点,但很好奇人们的想法在哪里。
标签: javascript regex time