[Javascript] Netscape 6 javascript console

Bill Marriott bill.marriott at optusnet.com.au
Wed Aug 29 16:10:40 CDT 2001


Hi everyone,

I keep getting the Error : Invalid Character in the code below.
It says Line 107 which I think is

for (intElementNr = 0; intElementNr < strSeparatorArray.length;
intElementNr++)

Can anyone see the problem.
Thanks

Bill



function checkdate(objName)
{
 var datefield = objName;
  if (chkdate(objName) == false)
   {
    datefield.select();
    alert("That date is invalid. Please try again.");
    datefield.focus();
    return false;
   }
  else
   {
    return true;
   }
}

function chkdate(objName)
{
 var strDatestyle = "EU";  // date style
 var strDate;
 var strDateArray;
 var strDay;
 var strMonth;
 var strYear;
 var intday;
 var intMonth;
 var intYear;
 var booFound = false;
 var datefield = objName;
 var strSeparatorArray = new Array("-"," ","/",".");
 var intElementNr;
 var err = 0;
 strDate = datefield.value;

 if (strDate.length < 1)
 {
  return true;
 }
 for (intElementNr = 0; intElementNr < strSeparatorArray.length;
intElementNr++)
  {
   if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1)
   {
    strDateArray = strDate.split(strSeparatorArray[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;
    }
   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;
         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;
            }
          }
        }
      datefield.value = intday + "/" + intMonth + "/" + 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;





More information about the Javascript mailing list