[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[CF-Scripting] Syntax error



Hi 

I am getting a syntax error on the following script on line 33, char
28 (if (testDate.getDate( ) = = day) {)

Could somebody give it the once over and let me know what is wrong
with it please (it is actually taken from an O'Reilly text and I have
eyed it correctly with the book a couple of times):





<script language="JavaScript">
function checkDate(fld)	{
	var mo, day, yr;
	var entry = fld.value;
	var reLong = /\b\d{1,2}[\/-]\d{1,2}[\/-]\d{4}\b/;
	var reShort = /\b\d{1,2}[\/-]\d{1,2}[\/-]\d{2}\b/;	
	var valid = (reLong.test(entry)) || (reShort.test(entry));
	if (valid) {
		var delimChar = (entry.indexOf("/") != -1) ? "/" : "-";
		var delim1 = entry.indexOf(delimChar);
		var delim2 = entry.lastIndexOf(delimChar);
		mo = parseInt(entry.substring(0, delim1), 10);
		day = parseInt(entry.substring(delim1+1, delim2), 10);
		yr = parseInt(entry.substring(delim2+1), 10);
		//handle 2 digit year
		if (yr < 100) {
			var today = new Date();
			//get current century floor (e.g. 2000)
			var  currCent = parseInt(today.getFullYear() / 100) * 100;
			//two digits up to this year + 15 expands to current century
			var threshold = (today.getFullYear() + 15) - currCent;
			if (yr > threshold) {
				yr += currCent - 100;
			} else {
				yr += currCent;
			}			
		}	
	var testDate = new Date(yr, mo-1, day);
	if (testDate.getDate( ) = = day) {
		if (testDate.getMonth() + 1 = = mo) {
			if (testDate.getFullYear() = = yr) {
				//fill field with database-friendly format
				fld.value = mo + "/" + day + "/" + yr;
				return true;
				} else {
					alert("There is a problem with the year entry.");
				}
			} else {
				alert("There is a problem with the month entry.");
			}
		}	else {
				alert("There is a problem with the date entry");
		}
	} else {
		alert("Incorrect date format. Enter as mm/dd/yyyy.");
	}
	return false;
}
</script>

</head>

<body>
<form name="myForm">

<input type="text" name="dateIn"
onBlur="checkDate(document.myForm.dateIn.value)">
<br>
<input type="text" name="dateOut">
<br>
<input type="reset" name="Reset">

</form>


-- 
Richard Lovelock