function formValidator() { this.errorList = new Array; this.isEmpty = isEmpty; this.raiseError = raiseError; this.numErrors = numErrors; this.displayErrors = displayErrors; this.isAlphaNumeric = isAlphaNumeric; this.hasNumber = hasNumber; this.checkPlz = checkPlz; this.isWithinRange = isWithinRange; this.validateDate = validateDate; this.validateEmail = validateEmail; } function isWithinRange(val, min, max) { if (val >= min && val <= max) { return true; } else { return false; } } function validateEmail(mail) { var emailFilter=/^.+@.+\..{2,3}$/; var badCharsString = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if (mail.match(badCharsString)) { return false; } return true; } function isEmpty(val) { if (val.match(/^\s+$/) || val == "") { return true; } else { return false; } } function raiseError(msg) { this.errorList[this.errorList.length] = msg; } function numErrors() { return this.errorList.length; } function displayErrors() { var errstring ="" ; for (x=0; x "9"))) return false; } // All characters are numbers. return true; } function stripCharsInBag(s, bag){ var i; var returnString = ""; // Search through string's characters one by one. // If character is not in bag, append to returnString. for (i = 0; i < s.length; i++){ var c = s.charAt(i); if (bag.indexOf(c) == -1) returnString += c; } return returnString; } function daysInFebruary (year){ // February has 29 days in any year evenly divisible by four, // EXCEPT for centurial years which are not also divisible by 400. return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 ); } function DaysArray(n) { var mythis = new Array; for (var i = 1; i <= n; i++) { mythis[i] = 31 if (i==4 || i==6 || i==9 || i==11) {mythis[i] = 30} if (i==2) {mythis[i] = 29} } return mythis } function isDate(dtStr){ var daysInMonth = DaysArray(12) var pos1=dtStr.indexOf(dtCh) var pos2=dtStr.indexOf(dtCh,pos1+1) var strMonth=dtStr.substring(0,pos1) var strDay=dtStr.substring(pos1+1,pos2) var strYear=dtStr.substring(pos2+1) strYr=strYear if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1) if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1) for (var i = 1; i <= 3; i++) { if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1) } month=parseInt(strMonth) day=parseInt(strDay) year=parseInt(strYr) if (pos1==-1 || pos2==-1){ return false } if (strMonth.length<1 || month<1 || month>12){ return false } if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){ return false } if (strYear.length != 4 || year==0 || yearmaxYear){ return false } if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){ return false } return true } function validateDate(val){ if (isDate(val)==false){ return false } return true }