hi need help regarding the year fix issue

Archanapandiri
Posted by Archanapandiri under ASP.NET category on | Points: 40 | Views : 786
hi,
Below is my code regarding the year validation.i am getting the problem at a point where the user is able to enter enter date. So need some kind of validation in javascript so that he can enter only the date less than or equal to today.As a fresher to this environment i am unable to write this.
DateValue = DateField.value;
// Delete all chars except 0..9
for (i = 0; i < DateValue.length; i++){
if (checkstr.indexOf(DateValue.substr(i,1)) >= 0){
DateTemp = DateTemp + DateValue.substr(i,1);
}
}
DateValue = DateTemp;
// Always check date for 8 digits
if (DateValue.length != 8){
if (DateField.value != "" && DateValue.length == 0){
alert("Invalid entry. Please use numerals only.");
DateField.select();
DateField.focus();
return false;
}
else if (DateField.value != "" && DateValue.length != 8){
alert("Invalid entry. Please format as MM/DD/YYYY.");
DateField.select();
DateField.focus();
return false;
}
}
else{
// Year is wrong if year = 0000
year = DateValue.substr(4,4);
if (year == 0){
err = 20;
}
// Validation of month
month = DateValue.substr(0,2);
if ((month < 1) || (month > 12)){
err = 21;
}
// Validation of day
day = DateValue.substr(2,2);
if (day < 1){
err = 22;
}
// Validation leap-year / february / day
if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)){
leap = 1;
}
if ((month == 2) && (leap == 1) && (day > 29)){
err = 23;
}
if ((month == 2) && (leap != 1) && (day > 28)){
err = 24;
}
// Validation of other months
if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))){
err = 25;
}
if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))){
err = 26;
}
// if 00 ist entered, no error, deleting the entry
if ((day == 0) && (month == 0) && (year == 00)){
err = 0; day = ""; month = ""; year = ""; seperator = "";
}
// if no error, write the completed date to Input-Field (e.g. 12.13.2001)
if (err == 0){
if (year < 1753){
alert("Please only enter dates January 1, 1753 or later.");
DateField.select();
DateField.focus();
return false;
}
else{
DateField.value = month + seperator + day + seperator + year;
}
}

Thanks

Comments or Responses

Login to post response