Javascript 使用正则表达式验证mm/dd/yyyy

Javascript 使用正则表达式验证mm/dd/yyyy,javascript,jquery,regex,validation,date,Javascript,Jquery,Regex,Validation,Date,它不起作用。我不知道正则表达式,但我需要使用它 if ($('input[name="due_date"]').val().match("^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\\d\\d$")) { $('input[name="due_date"]').after("<span class='v_error'>Must fill</span>"); } if($('input[nam

它不起作用。我不知道正则表达式,但我需要使用它

if ($('input[name="due_date"]').val().match("^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\\d\\d$")) {
  $('input[name="due_date"]').after("<span class='v_error'>Must fill</span>");
}
if($('input[name=“due_date”]').val().match(^(0[1-9]| 1[012])[-/.](0[1-9]|[12][0-9]| 3[01])[-/.](19 | 20)\\d$){
$('input[name=“due_date”]')。之后(“必须填写”);
}

如果要与HTML对象匹配,可以在jQuery选择器之后添加.val(),如

$('input[name="due_date"]').val().match(/^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\\d\\d$/);

正则表达式被斜线包围。我刚刚发现你的正则表达式也不正确。。。因此,再加上xdazz指出的jQuery错误:

$('input[name="due_date"]').val().match(/^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$/);

正则表达式来自。

关于“不工作”,你能更具体一点吗?也许您只需要在
.match
前面插入
.value
?我可以问一下为什么需要使用regex吗?这最好是最新的,而不是正则表达式。角落里的箱子太多了。检查这篇文章没有错误消息,但当我添加alert()时,它的警报“Null”消息。@Gerelt Od:Null表示不匹配。尝试警报($('input[name=“due_date”]”)。val())。val()工作,其警报输入值。当我输入正确的值时,它仍然会发出NULL警报。请尝试
“^(0?[1-9]| 1[012])[-/.](0[1-9]|[12][0-9]| 3[01])[-/.](19 | 20)\\d$”
@gerelot让我们忘了,但是,您不必在正则表达式之间加引号(“)再次检查我的代码,我编辑了它。它可以工作,但现在我需要新的正则表达式。我需要正则表达式,它可以在2011年3月3日和2011年3月3日的情况下工作。如果这不可能,至少我需要正则表达式,它可以在2011年3月3日的情况下工作。当然,这是可能的…但你似乎已经回答了你的问题。
$('input[name="due_date"]').val().match(/^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$/);