0
그래서 웹 양식에 입력 한 날짜가 제출하기 전에 과거에 없었는지 확인하는 데 사용하는 checkDate()
기능이 있습니다. 문제는이 함수가 입력 한 날짜가 오늘 날짜 인 경우에도 오류를 반환한다는 것입니다. 나는 이것이 날짜/시간 : MM : YYYY HH : MM : SS.sss로 형식화 된 다음 에포크 값으로 변환되는 방법과 관련이 있다고 가정하고 있지만, 입력 된 날짜의 유효성을 검사하는 방법을 알지 못합니다. 아직 과거 날짜가 아닌지 확인하면서 오늘은 안됩니다.오늘 날짜를 포함하지 않고 과거 날짜가 아닌지 어떻게 확인할 수 있습니까?
주의 사항 : 우리가 txtNeededBy
라는 이름에 대해 확인 된 날짜 문자열을 텍스트 상자
나는 아래 전체가 내 checkDate()
기능을 게시했습니다.
function checkDate() {
var date = new Date($("#txtNeededBy").val());
ValidateDate = false;
if (Date.parse(date) < Date.now()) {
sb.append("<li>Needed by date must not be in the past.</li>");
$("#txtNeededBy").addClass("input_error");
ValidateDate = true;
if (sb.toString().length > 0) {
$(".Errors").html(sb.toString());
$(".Errors").show();
return false;
}
} else {
$("#txtNeededBy").removeClass("input_error");
}
if (ValidateDate === true) {
return false;
}
}
복제본 http://stackoverflow.com/questions/2698725/comparing-date-part-only-without-comparing-time-in-javascript – ChrisV
사이드 노트에서 : 코드 끝에서'=== true'는 필요 없습니다. if 문은 조건이 true 일 때만 실행됩니다. 부울 변수 (true/false)를 가지고 있다면, 값이'=== true'인지 확인할 필요가 없습니다. 실제로하는 일은 실제로'if (true === true)'입니다. 'true === true'는 true를 반환합니다. 이는 처음에 수표를 버릴 수 있음을 의미합니다. 또한'var' 키워드없이'ValidateDate'를 선언하는 이유는 무엇입니까? –
ChrisV가 게시 한 답변을 시도 할 것입니다. ValidateDate 변수의 경우 다른 곳에서 선언 된 전역 변수이며이를 제외하면 나쁘다. –