gpt4 book ai didi

javascript - 表单日期 (yyyy-mm-dd) 验证。

转载 作者:行者123 更新时间:2023-12-03 09:21:38 25 4
gpt4 key购买 nike

在我的验证文件中,我有一个“准备数据”函数,它将 DOM 中的数据保存到 JSON 中,并将其作为 data.applicants.ocupation_since 返回:

applicants.occupation_since = mainAppContainer.find(".employmentPeriodStart").val()

然后在“验证”函数中验证它:

        var validateOccupationCompany, validateOccupationSince;
if (data.applicants[0].occupation === 'full_time' || data.applicants[0].occupation === 'hourly' || data.applicants[0].occupation === 'part_time' || data.applicants[0].occupation === 'finite_time') {
validateOccupationCompany = true;
validateOccupationSince = true;
}

var dateVal, dateValues, dtDay, dtMonth, dtYear, isleap, validatePattern;
if (validateOccupationSince) {
dateVal = data.applicants[0].occupation_since;
validatePattern = /^(\d{4})(\/|-)(\d{1,2})(\/|-)(\d{1,2})$/;
dateValues = dateVal.match(validatePattern);
dtYear = dateValues[1];
dtMonth = dateValues[3];
dtDay = dateValues[5];
if (validatePattern.test(dateVal) !== true) {
ret.status = false;
ret.errorMessages.push("SOME ERROR MSG");
ret.errorClasses.push(".employmentPeriodStart");
} else if (dtMonth < 1 || dtMonth > 12) {
ret.status = false;
ret.errorMessages.push("SOME ERROR MSG.");
ret.errorClasses.push(".employmentPeriodStart");
} else if (dtDay < 1 || dtDay > 31) {
ret.status = false;
ret.errorMessages.push("SOME ERROR MSG.");
ret.errorClasses.push(".employmentPeriodStart");
} else if ((dtMonth === 4 || dtMonth === 6 || dtMonth === 9 || dtMonth === 11) && dtDay === 31) {
ret.status = false;
ret.errorMessages.push("SOME ERROR MSG.");
ret.errorClasses.push(".employmentPeriodStart");
} else if (dtMonth === 2) {
isleap = dtYear % 4 === 0 && (dtYear % 100 !== 0 || dtYear % 400 === 0);
if (dtDay > 29 || (dtDay === 29 && !isleap)) {
ret.status = false;
ret.errorMessages.push("SOME ERROR MSG.");
ret.errorClasses.push(".employmentPeriodStart");
}
}
}

我一直在努力让它工作一段时间,但一直没能解决它,而且它看起来有点乱。

替代解决方案很好,或者您可以为我指出正确的方向。

最佳答案

我们还一直在努力解决日期、时间和日期时间及其格式问题。

我强烈建议使用MomentJs .

关于javascript - 表单日期 (yyyy-mm-dd) 验证。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31825213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com