>  기사  >  웹 프론트엔드  >  입력된 날짜가 법적 날짜인지 여부를 확인하는 JavaScript의 두 가지 방법

입력된 날짜가 법적 날짜인지 여부를 확인하는 JavaScript의 두 가지 방법

高洛峰
高洛峰원래의
2016-11-25 14:56:543379검색

JavaScript 코드
/// 입력한 날짜가 올바른 날짜 형식인지 확인하세요:
/// yyyy-M-d, yyyy-MM-dd, yyyy/M/d, yyyy/MM/ dd 지원 네 가지 입력 형식.

function checkDate(strInputDate) {
// 한 달의 일수에 대한 상수 배열 정의
var DA = [0, 31, 28, 31, 30, 31, 30, 31, 31 , 30, 31, 30, 31];

// 통합 날짜 형식
strDate = strInputDate.replace(/-/g, "/");

// 여부를 결정합니다. 날짜가 예상됩니다. 형식
if (strDate.indexOf("/") == -1) {
Alert("yyyy-M-d, yyyy-MM-dd, yyyy/M/d, yyyy/를 입력하세요. MM/dd 형식. ")
return false;
}

// 연, 월, 일 분해
arrD = strDate.split("/");
if (arrD.length ! = 3) false를 반환합니다.
y =parseInt(arrD[0], 10);
m=parseInt(arrD[1], 10);
d=parseInt(arrD[ 2], 10) ;

//연, 월, 일이 숫자인지 판단
if (isNaN(y) || isNaN(m) || isNaN(d)) return false;

//월이 1~12 사이인지 판단
if (m > 12 || m < 1) return false;
//윤년인지 판단
if (isLoopYear(y)) DA[2] = 29;

//입력한 날짜가 이번 달의 총 일수를 초과하는지 확인합니다.
if (d > DA[m]) return false;

//모든 조건이 확인되면 법적 날짜여야 합니다.
// 날짜 형식을 한 번 지정하려면 여기에서 수행할 수 있습니다. 다음은 데이터베이스에서 인식하는 날짜 형식으로 형식을 지정하는 것입니다. yyyy-MM-dd
// str = y + "-" + (m str = y + "-" + (m 경고(str)
return true;
}
function isLoopYear(theYear) {
return (new Date(theYear, 1, 29).getDate() == 29);
}

//방법 2:
// / 입력한 날짜가 올바른 날짜 형식인지 확인하세요:
/// 4가지 입력 형식을 지원합니다: yyyy-M-d, yyyy-MM-dd, yyyy/M/d, yyyy/MM/dd.
function CheckDate2(strInputDate) {
if (strInputDate == "") return false;
strInputDate = strInputDate.replace(/-/g, "/");
var d = new Date (strInputDate);
if (isNaN(d)) return false;
var arr = strInputDate.split("/");
return ((parseInt(arr[0], 10) == d .getFullYear()) && (parseInt(arr[1], 10) == (d.getMonth() + 1)) && (parseInt(arr[2], 10) == d.getDate()));
}


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:js 형식 십진수다음 기사:js 형식 십진수