[Javascript] RE: Error : Invalid Character
Rees, Mark (TWIi London)
mrees at twii.net
Thu Aug 30 04:30:33 CDT 2001
Hello
Try to alert strSeparatorArray.length. Does it give you what you expect? If
so, try assigning it to a variable perhaps, so:
var x=strSeparatorArray.length
for (intElementNr = 0; intElementNr < x;intElementNr++)
Also on an unrelated point, it's good to see naming conventions for
variables, but since strSeparatorArray is an array perhaps you might use
arySeparatorArray or something as its name? Just a thought
Cheers
Mark
-----Original Message-----
From: Bill Marriott [mailto:bill.marriott at optusnet.com.au]
Sent: 29 August 2001 22:11
To: javascript at LaTech.edu
Subject: Re: [Javascript] Netscape 6 javascript console
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;
_______________________________________________
Javascript mailing list
Javascript at LaTech.edu
http://www.LaTech.edu/mailman/listinfo/javascript
More information about the Javascript
mailing list