我尝试使用我在网上找到的以下功能(我将其更改为我的日期格式)来检查日期是否有效:
function isValidDate(date)
{
var matches = /(\d{4})[-\/](\d{2})[-\/](\d{2})/.exec(date);
if (matches == null) return false;
var day = matches[2];
var month = matches[1] - 1;
var year = matches[3];
var composedDate = new Date(year, month, day);
return composedDate.getDate() == day &&
composedDate.getMonth() == month &&
composedDate.getFullYear() == year;
}
格式为MM / DD / YYYY,但我尝试更改正则表达式,因此第一部分({2}为{4},最后一部为{2}为{4}。对不起,我真的不知道我在JavaScript中使用正则表达式做了什么。
感谢您的帮助!
答案 0 :(得分:4)
您还应该更改读取数据的顺序:
var year = matches[1];
var month = matches[2] - 1;
var day = matches[3];
因此,如果您的格式为YYYY / MM / DD,则第一个匹配的组应该是年份,第二个月和第三个。这样功能就可以了。