View Answers

May 20, 2009 at 4:47 PM

Hi Friend,

Try the following code:

<html>

<head>

<Script language="JavaScript">

function check(objName) {

var datefield = objName;

if (isDate(objName) == false) {

datefield.select();

alert("Invalid dates.");

datefield.focus();

return false;

}

else {

return true;

}

}

function isDate(objName) {

var strDatestyle = "US";

var strDate;

var strDateArray;

var strDay;

var strMonth;

var strYear;

var intday;

var intMonth;

var intYear;

var booFound = false;

var datefield = objName;

var strSeparadate2rArray = new Array("-"," ","/",".");

var intElementNr;

var err = 0;

var strMonthArray = new Array(12);

strMonthArray[0] = "Jan";

strMonthArray[1] = "Feb";

strMonthArray[2] = "Mar";

strMonthArray[3] = "Apr";

strMonthArray[4] = "May";

strMonthArray[5] = "Jun";

strMonthArray[6] = "Jul";

strMonthArray[7] = "Aug";

strMonthArray[8] = "Sep";

strMonthArray[9] = "Oct";

strMonthArray[10] = "Nov";

strMonthArray[11] = "Dec";

strDate = datefield.value;

if (strDate.length < 1) {

return true;

}

for (intElementNr = 0; intElementNr < strSeparadate2rArray.length; intElementNr++) {

if (strDate.indexOf(strSeparadate2rArray[intElementNr]) != -1) {

strDateArray = strDate.split(strSeparadate2rArray[intElementNr]);

if (strDateArray.length != 3) {

err = 1;

return false;

}

else {

strDay = strDateArray[0];

strMonth = strDateArray[1];

strYear = strDateArray[2];

}

booFound = true;

}

}

if (booFound == false) {

if (strDate.length>5) {

strDay = strDate.substr(0, 2);

strMonth = strDate.substr(2, 2);

strYear = strDate.substr(4);

}

}

if (strYear.length == 2) {

strYear = '20' + strYear;

}

if (strDatestyle == "US") {

strTemp = strDay;

strDay = strMonth;

strMonth = strTemp;

}

intday = parseInt(strDay, 10);

if (isNaN(intday)) {

err = 2;

return false;

}

intMonth = parseInt(strMonth, 10);

if (isNaN(intMonth)) {

for (i = 0;i<12;i++) {

if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {

intMonth = i+1;

strMonth = strMonthArray[i];

i = 12;

}

}

if (isNaN(intMonth)) {

err = 3;

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;

}

}

}

if (strDatestyle == "US") {

datefield.value = strMonthArray[intMonth-1] + " " + intday+" " + strYear;

}

else {

datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;

}

return true;

}

function LeapYear(intYear) {

if (intYear % 100 == 0) {

if (intYear % 400 == 0) { return true; }

}

else {

if ((intYear % 4) == 0) { return true; }

}

return false;

}

Try the following code:

<html>

<head>

<Script language="JavaScript">

function check(objName) {

var datefield = objName;

if (isDate(objName) == false) {

datefield.select();

alert("Invalid dates.");

datefield.focus();

return false;

}

else {

return true;

}

}

function isDate(objName) {

var strDatestyle = "US";

var strDate;

var strDateArray;

var strDay;

var strMonth;

var strYear;

var intday;

var intMonth;

var intYear;

var booFound = false;

var datefield = objName;

var strSeparadate2rArray = new Array("-"," ","/",".");

var intElementNr;

var err = 0;

var strMonthArray = new Array(12);

strMonthArray[0] = "Jan";

strMonthArray[1] = "Feb";

strMonthArray[2] = "Mar";

strMonthArray[3] = "Apr";

strMonthArray[4] = "May";

strMonthArray[5] = "Jun";

strMonthArray[6] = "Jul";

strMonthArray[7] = "Aug";

strMonthArray[8] = "Sep";

strMonthArray[9] = "Oct";

strMonthArray[10] = "Nov";

strMonthArray[11] = "Dec";

strDate = datefield.value;

if (strDate.length < 1) {

return true;

}

for (intElementNr = 0; intElementNr < strSeparadate2rArray.length; intElementNr++) {

if (strDate.indexOf(strSeparadate2rArray[intElementNr]) != -1) {

strDateArray = strDate.split(strSeparadate2rArray[intElementNr]);

if (strDateArray.length != 3) {

err = 1;

return false;

}

else {

strDay = strDateArray[0];

strMonth = strDateArray[1];

strYear = strDateArray[2];

}

booFound = true;

}

}

if (booFound == false) {

if (strDate.length>5) {

strDay = strDate.substr(0, 2);

strMonth = strDate.substr(2, 2);

strYear = strDate.substr(4);

}

}

if (strYear.length == 2) {

strYear = '20' + strYear;

}

if (strDatestyle == "US") {

strTemp = strDay;

strDay = strMonth;

strMonth = strTemp;

}

intday = parseInt(strDay, 10);

if (isNaN(intday)) {

err = 2;

return false;

}

intMonth = parseInt(strMonth, 10);

if (isNaN(intMonth)) {

for (i = 0;i<12;i++) {

if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {

intMonth = i+1;

strMonth = strMonthArray[i];

i = 12;

}

}

if (isNaN(intMonth)) {

err = 3;

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;

}

}

}

if (strDatestyle == "US") {

datefield.value = strMonthArray[intMonth-1] + " " + intday+" " + strYear;

}

else {

datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;

}

return true;

}

function LeapYear(intYear) {

if (intYear % 100 == 0) {

if (intYear % 400 == 0) { return true; }

}

else {

if ((intYear % 4) == 0) { return true; }

}

return false;

}

May 20, 2009 at 4:48 PM

continue....................

function doDateCheck(date1, date2) {

if (Date.parse(date1.value) <= Date.parse(date2.value)) {

alert("The dates are valid.");

}

else {

if (date1.value == "" || date2.value == "")

alert("Enter date.");

else

alert("Date of joining must be greater than date of birth.");

}

}

</script>

</head>

<form>

<table>

<tr><td>Enter Date of Birth:</td><td><input type="text" name="date1" onBlur="check(this)" ></td></tr>

<tr><td>Enter Date of Joining:</td><td><input type=text name="date2" onBlur="check(this)"></td></tr>

<tr><td><input type="button" onClick="doDateCheck(this.form.date1, this.form.date2);" value="checkDate"></td></tr>

</table>

</form>

</html>

Thanks

function doDateCheck(date1, date2) {

if (Date.parse(date1.value) <= Date.parse(date2.value)) {

alert("The dates are valid.");

}

else {

if (date1.value == "" || date2.value == "")

alert("Enter date.");

else

alert("Date of joining must be greater than date of birth.");

}

}

</script>

</head>

<form>

<table>

<tr><td>Enter Date of Birth:</td><td><input type="text" name="date1" onBlur="check(this)" ></td></tr>

<tr><td>Enter Date of Joining:</td><td><input type=text name="date2" onBlur="check(this)"></td></tr>

<tr><td><input type="button" onClick="doDateCheck(this.form.date1, this.form.date2);" value="checkDate"></td></tr>

</table>

</form>

</html>

Thanks

Related Tutorials/Questions & Answers: