如何验证用户输入的日期以确保输入的日期在可接受的限制范围内 (例如 feb 的日期不超过 29 , apr,jun和nov 30 31 jan,mar,may,jul,aug,oct和dec )以及不超过 12 的月份?
我尝试添加条件而&& 对我来说根本不起作用,因为它总是会返回错误。
我的javascript功能如下:
function parseDate(s)
{
var dP = s.split("/");
var date = new Date(dP[2], (dP[1] - 1), dP[0]);
var dateStrParts = date.toString().split(" ");
return (date.getDate() + ", " + dateStrParts[1] + " " + dateStrParts[3]);
}
我目前有一个 onchange ,它会将月份数转换为用户输入的月份名称,我相信我需要添加另一个功能进行验证。
因此,我如何编写验证功能以及如何将其添加到 onchange 事件中?
日期没有提交按钮。
谢谢!
答案 0 :(得分:0)
使用isNaN
检查Date.parse()
function parseMyDate(s){
if (isNaN(Date.parse(s))){
alert("Your input has no logic at all");
return;
}
var dateParts = s.split("/");
var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);
var dateStrParts = date.toString().split(" ");
return (date.getDate() + ", " + dateStrParts[1] + " " + dateStrParts[3]);
}
console.log(parseMyDate("31/02/2014"));