【发布时间】:2017-01-13 07:13:15
【问题描述】:
我正在尝试以 js ("yyyy/mm/dd") 格式验证日期。谷歌搜索后,我发现检查了其他日期格式,但我无法获得这种格式。
任何人都可以帮助我。
这是我的代码。
function dateChecker()
{
var date1, string, re;
re = new RegExp("\d{4}/\d{1,2}/\{1,2}");
date1 = document.getElementById("visitDate").value;
if(date1.length == 0)
{
document.getElementById("showError").innerHTML = "Plz Insert Date";
document.getElementById("showError").style.color = "red";
}
else if(date1.match(re))
{
document.getElementById("showError").innerHTML = "Ok";
document.getElementById("showError").style.color = "red";
}
else
{
document.getElementById("showError").innerHTML = "It is not a date";
document.getElementById("showError").style.color = "red";
}
}
【问题讨论】:
-
如果整个字符串应该匹配,请使用
re=/\d{4}\/\d{1,2}\/\d{1,2}/或re=/^\d{4}\/\d{1,2}\/\d{1,2}$/。\{1,2}是一个错字,如果您需要使用构造函数符号,则将反斜杠加倍。不过,您不会以这种方式验证日期,只需检查字符串是否看起来像日期。 -
使用 moment.js,正则表达式不适合日期验证。在 moment.js 中,您可以执行类似 isValid 函数的操作。
-
对不起!它们都不适合我。
-
如果你使用momentjs,你可以这样做 const date = moment('01-01-2021', 'DD-MM-YYYY', true) date.isValid() // true
标签: javascript regex date