JavaScript-用于时间或特定字符串的正则表达式
在我的表单中,我有一个字段,询问用户希望我什么时候给他们打电话 输入代码如下(不包括JavaScript-用于时间或特定字符串的正则表达式,javascript,html,regex,Javascript,Html,Regex,在我的表单中,我有一个字段,询问用户希望我什么时候给他们打电话 输入代码如下(不包括标记): 如您所见,我使用了两个单独的正则表达式,一个用于匹配格式为HH:MM的时间;另一个用于匹配特定字符串“anytime” 在函数本身中,我使用|查看是否匹配了其中一个正则表达式 注意:我知道我使用的是onchange而不是onsubmit,标签由调用主函数的onsubmit组成。在两个测试之间必须使用AND&而不是OR|: if ((!callback.test(document.bookingsform
标记):
如您所见,我使用了两个单独的正则表达式,一个用于匹配格式为HH:MM的时间;另一个用于匹配特定字符串“anytime”
在函数本身中,我使用|
查看是否匹配了其中一个正则表达式
注意:我知道我使用的是onchange
而不是onsubmit
,
标签由调用主函数的onsubmit
组成。在两个测试之间必须使用AND&
而不是OR|
:
if ((!callback.test(document.bookingsform.contactconvenience.value))
&&
(!callbackanytime.test(document.bookingsform.contactconvenience.value))) {
不是(A或B)不是A也不是B
您还可以使用唯一的正则表达式:
/^\d{2}:\d{2}|\s*anytime\s*$/;
假定午夜00:00
var callback = /^(([01]\d|2[0-3]):([0-5]\d)|anytime)$/;
if (!callback.test(document.bookingsform.contactconvenience.value))
{
// error code
}
这不起作用,如果我输入任意字符,它不会显示错误。我删除了|
,现在只使用一个正则表达式。有什么想法吗?是的,这对我不起作用。我甚至复制并粘贴了你的代码,仍然没有。对我来说可以吗?(必须从输入中单击以引发事件)多么奇怪,我复制并粘贴了您的JSFIDLE代码,现在它工作得非常完美。在函数的“错误代码”区域中,一定有一些输入错误的代码,但我没有找到。现在效果很好。谢谢我改了,但没用。然后我尝试了你独特的正则表达式,但仍然不起作用。有什么想法吗?联系便利性的价值是什么。我想没有
?我没有给标记一个value
属性。@RoyalSwish:我是指当你输入函数时的值。
/^\d{2}:\d{2}|\s*anytime\s*$/;
var callback = /^(([01]\d|2[0-3]):([0-5]\d)|anytime)$/;
if (!callback.test(document.bookingsform.contactconvenience.value))
{
// error code
}