我写了像
这样的验证模式 function checkValid(str)
{
var isPattern = /^(0?[1-9]|[12][0-9]|3[01])[\/\/](0?[1-9]|1[012])[\/\/]\d{4}$/.test(str);
if (!isPattern)
return false;
var d = new Date(str);
return (!isNaN(d));
}
in the code
...
....
else if(!checkValid(newstartdate))
{
swal({
title: "",
text: "Please enter valid start date! "
});
}
else if(!checkValid(newenddate))
{
swal({
title: "",
text: "Please enter valid end date! "
});
}
我必须遵循正确的dd / mm / yyyy格式,上述行不接受日期,例如" 22/12/2026"。
答案 0 :(得分:0)
尝试使用此模式:
var isPattern = /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g;
console.log(isPattern.test("22/12/2026"));
console.log(isPattern.test("32/14/2026"));
console.log(isPattern.test("31/02/2026"));
console.log(isPattern.test("29/02/1996"));

也会考虑闰年。
查看here进行移植。
答案 1 :(得分:0)
var date_regex = /^(0?[1-9]|[12][0-9]|3[01])[\/](0?[1-9]|1[012])[\/]\d{4}$/;
alert(date_regex.test("22/12/1993"));