⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkdate.js

📁 j2ee源码
💻 JS
字号:
<!-- Begin

function checkdate(objName) {

	var datefield = objName;

	if (chkdate(objName) == false) {
		datefield.select();
		alert("That date is invalid.It like YYYY/MM/DD HH:MM:SS.");
		datefield.focus();
		return false;
	}
	else {
		return true;
	}

}


function chkdate(objName) {

	var strDateTime;
	var strDate;
	var strTime;

	var strDateTimeArray = new Array();
	var strDateArray     = new Array();
	var strTimeArray     = new Array();

	var datefield = objName;
	var strSeparatorArray = new Array("-","/");
	var i;
	var err = 0;

	strDateTime = datefield.value;


	if (strDateTime.length < 1) { return true;}

	if (isEmpty(strDateTime)) { return false; }
	
	strDateTime = Trim(strDateTime);
	
	strDateTimeArray = strDateTime.split(" ");

	if	(strDateTimeArray.length == 1)
	{
		strDate          =  strDateTimeArray[0];
		strTimeArray[0]  =  "00:00:00";
	}
	else if	(strDateTimeArray.length == 2)
	{
		strDate          =  strDateTimeArray[0];
		strTimeArray[0]  =  strDateTimeArray[1];
	}
	else
	{
		return false;
	}

	for (i = 0; i < strSeparatorArray.length; i++) {
		if (strDate.indexOf(strSeparatorArray[i]) != -1) {
			strDateArray = strDate.split(strSeparatorArray[i]);
			break;
		}
	}

	if (strDateArray.length != 3) {
		return false;
	}

	strDateArray[3] = "0";

	if	(isDateFormat1(strDateArray))
	{
		strDate = convertDate(strDateArray)
	}
	else if	(isDateFormat2(strDateArray))
	{
		strDate = convertDate(strDateArray)
	}
	else
	{
		return false;
	}

	if	(!isLegalTime(strTimeArray))
	{
		return false;
	}

	datefield.value = strDate + " " + strTimeArray[0];
	return true;

}


function LeapYear(intYear) {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) { return true; }
	}
	else {
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
}


function doDateCheck(from, to) {
	if (Date.parse(from.value) <= Date.parse(to.value)) {
		alert("The dates are valid.");
	}
	else {
		if (from.value == "" || to.value == "") 
			alert("Both dates must be entered.");
		else 
			alert("To date must occur after the from date.");
	}
}


function isDateFormat1(sDA)
{
	/*	sDA     :  String Date Array */
	/*	format1 :  mm/dd/yyyy        */

	var strDay;
	var strMonth;
	var strYear;

	strMonth = sDA[0];
	strDay   = sDA[1];
	strYear  = sDA[2];

	if (isLegalDate(strDay,strMonth,strYear))
	{
		sDA[3] = "1";  //set format type
		return  true;
	}
	else
	{
		return false;
	}
}


function isDateFormat2(sDA)
{
	/*	sDA     :  String Date Array */
	/*	format2 :  yyyy-mm-dd	     */

	var strDay;
	var strMonth;
	var strYear;

	strYear  = sDA[0];
	strMonth = sDA[1];
	strDay   = sDA[2];

	if (isLegalDate(strDay,strMonth,strYear))
	{
		sDA[3] = "2";        //set format type.
		return  true;
	}
	else
	{
		return false;
	}
}

function isLegalDate(sDay,sMonth,sYear)
{
	var strDay;
	var strMonth;
	var strYear;

	var intday;
	var intMonth;
	var intYear;

	strDay   = sDay;
	strMonth = sMonth;
	strYear  = sYear;

	intday = parseInt(strDay, 10);

	if (isNaN(intday)) {
		err = 2;
		return false;
	}

	intMonth = parseInt(strMonth, 10);

	if (isNaN(intMonth)) {
		err = 3;
		return false;
	}

	if	((strYear.length!=2)&(strYear.length!=4))	{ return false; }
	
	intYear = parseInt(strYear, 10);

	if (isNaN(intYear)) {
		err = 4;
		return false;
	}

	if (intMonth>12 || intMonth<1) {
		err = 5;
		return false;
	}

	if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
		err = 6;
		return false;
	}

	if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
		err = 7;
		return false;
	}

	if (intMonth == 2) {
		if (intday < 1) {
			err = 8;
			return false;
		}

		if (LeapYear(intYear) == true) {
			if (intday > 29) {
				err = 9;
				return false;
			}
		}
		else {
			if (intday > 28) {
				err = 10;
				return false;
			}
		}
	}

	return true;
}


function convertDate(sDA)
{
	/*	sDA     :  String Date Array */
	/* format1 ==> format2 */

	var strDay;
	var strMonth;
	var strYear;
	var strReturn;
	
	if(sDA[3] == "1")    // format1 
	{
		strMonth = sDA[0];
		strDay   = sDA[1];
		strYear  = sDA[2];

		if	(strYear.length == 2 )	{ strYear = "20" + strYear;}
		if	(strMonth.length < 2)	{ strMonth = "0" + strMonth;}
		if	(strDay.length < 2)	{ strDay = "0" + strDay;}
		
		strReturn = strYear + "-" + strMonth + "-" + strDay ;

		return strReturn;
	
	}
	else if(sDA[3] == "2")
	{
		strYear  = sDA[0];
		strMonth = sDA[1];
		strDay   = sDA[2];

		if	(strYear.length == 2 )	{ strYear = "20" + strYear;}
		if	(strMonth.length < 2) { strMonth = "0" + strMonth;}
		if	(strDay.length < 2) { strDay = "0" + strDay;}

		strReturn = strYear + "-" + strMonth + "-" + strDay ;

		return strReturn;
	
	}
	else
	{
		return "";
	}

}


function isLegalTime(sTimeA)
{
	/* the time format like "hh:mm:ss"  */

	var sTime;
	
	var strHour;
	var strMinute;
	var strSecond;

	var intHour;
	var intMinute;
	var intSecond;
	var sTA  = new Array();

	sTime = sTimeA[0];

	if	(sTime == null)
	{
		return false;
	}
	
	if	(sTime == "")
	{
		return false;
	}
	
	if (sTime.indexOf(":") != -1) {
		sTA = sTime.split(":");
		if (sTA.length != 3) {
			return false;
		}
	}
	else
	{
		return false;
	}
	
	strHour    =  sTA[0];
	strMinute  =  sTA[1];
	strSecond  =  sTA[2];
	
	if(strHour == ""){ strHour="00";}
	if(strHour.length < 2){strHour = "0" + strHour;}

	if(strMinute == ""){ strMinute = "00";}
	if(strMinute.length < 2){strMinute = "0" + strMinute;}

	if(strSecond == ""){ strSecond = "00";}
	if(strSecond.length < 2){strSecond = "0" + strSecond;}

	intHour = parseInt(strHour, 10);

	if (isNaN(intHour)) {
		return false;
	}

	if	(intHour > 24 | intHour < 0)
	{
		return false;
	}
	
	intMinute = parseInt(strMinute, 10);

	if (isNaN(intMinute)) {
		return false;
	}

	if	(intMinute > 60 | intMinute < 0)
	{
		return false;
	}
	
	intSecond = parseInt(strSecond, 10);

	if (isNaN(intSecond)) {
		return false;
	}

	if	(intSecond > 60 | intSecond < 0)
	{
		return false;
	}

	sTimeA[0] = strHour + ":" + strMinute + ":" + strSecond;

	return true;
}


function Trim(s)   //return String.
{
	var strTemp;
	var strKeep;

	strKeep = s;
	strTemp = s;
	
	do
	{	
		strKeep = strTemp;
		strTemp = strKeep.replace("  "," ");
		
	}while(strKeep.length > strTemp.length)

	var len = strKeep.length - 1;
	var start = 0;
	var end = len;

	if	(strKeep.charAt(0) == " ")	{ start = 1;}
	if	(strKeep.charAt(len) == " ")	{ end = len-1;}	

	s = strKeep.substring(start,end+1);
	
	return s;
}


function isEmpty(s)   //return boolean.
{
	var ss;
	var i;
	i=0;
	ss = s;

	if(ss == "")
	{
		return true;
	}
	else
	{
		for(i=0; i<ss.length; i++)
		{
			if(ss.charAt(i)!=" ")
			{break;}
		}
		if(i==(ss.length))
		{
			return true;
		}
	}
	return false;
}

//  End -->

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -