function numOnly(e) { var key; if(window.event) { key = window.event.keyCode; } else if(e.which) { key = e.which; } if(key > 31 && (key < 48 || key > 57)) { alert("Number only!") return false; } return true; } function floatNumOnly(e) { var key; if(window.event) { key = window.event.keyCode; } else if(e.which) { key = e.which; } if((key > 31 && (key < 48 || key > 57)) && key != 46) { alert("Number only!") return false; } return true; } function checkMailAddrress(fieldObj) { var addrList = new Array(); if(fieldObj.indexOf(",") > 0) addrList = fieldObj.split(","); else if(fieldObj.indexOf(";") > 0) addrList = fieldObj.split(";"); else if(fieldObj.indexOf(" ") > 0) addrList = fieldObj.split(" "); else addrList[0] = fieldObj; if(addrList.length > 0) { for(var i = 0; i < addrList.length; i++) { if(BadEmailStr(addrList[i], addrList[i])) return false; } } return true; } function checkEmail(fieldObj, fieldName) { if(trim(fieldObj.value) == "") return; var fieldLabel = "Email"; if(fieldName) fieldLabel = fieldLabel + " " + fieldName; // BadEmail(fieldObj, "Email"); var isBad = evaluateEmails(fieldObj.value, fieldLabel); if(isBad) { fieldObj.focus(); return false; } } function trim(str) { return str.replace(/^\s*/, "").replace(/\s*$/, ""); } function evaluateEmails(emails, objName) { var isBad = false; var mailList = emails.split(","); for(var i = 0; i < mailList.length; i++) { isBad = BadEmailStr(mailList[i], objName); if(isBad) break; } return isBad; } // trim a text object function trimObject(textObject) { textObject.value = trim(textObject.value); } function BadEmail(obj, objname) { trimObject(obj); x=obj L =x.value.length; if (x.value.charAt(L-1)==".") { alert("'" + objname + "' may not have a period as it last character"); x.focus(); return true } At=x.value.indexOf("@"); if (At==-1) { alert("'" + objname + "' is missing an @ sign"); x.focus(); return true } if (At==0) { alert("'" + objname + "' may not have @-sign as first character"); x.focus(); return true } if (At==(L-1)) { alert("'" + objname + "' may not have @-sign as last character"); x.focus(); return true } A=x.value.indexOf("@",At+1); if (A !=-1) { alert("'" + objname + "' may not have more than one @-sign"); x.focus(); return true } P =x.value.indexOf("."); if (P==-1) { alert("'" + objname + "' must have at least one period"); x.focus(); return true } if (P==0) { alert("'" + objname + "' may not have period as first character"); x.focus(); return true } P =x.value.indexOf(".",At+1); if (P==-1) { alert("'" + objname + "' must have at least one period after @-sign"); x.focus(); return true } if (At+1==P) { alert("'" + objname + "' must have characters between @sign and period"); x.focus(); return true } y=x.value.substring(L-3,L); // last three characters z=x.value.substring(L-2,L); // last two characters z=z.toLowerCase(); if (y.charAt(0)=="." && z=="us") { y=x.value.substring(L-6,L-3) } /* if (y.charAt(0)!=".") { y=y.toLowerCase(); if (y!="com" && y!="edu" && y!="net" && y!="org" && y!="gov" && y!="mil" && y!="int") { alert("'" + objname + "' must be .com, .edu, .net, .org, .gov, .mil, or .int "); x.focus(); return true } } if (P==(L-3)) { alert("'" + objname + "' may not have only one period and end in just two letters"); x.focus(); return true } */ if (x.value.indexOf(",")!=-1) { alert("'" + objname + "' may not contain a comma"); x.focus(); return true } if (x.value.indexOf(" ")!=-1) { alert("'" + objname + "' may not contain a space"); x.focus(); return true } if (x.value.indexOf("*")!=-1) { alert("'" + objname + "' may not contain a asterisk"); x.focus(); return true } if (x.value.indexOf(")")!=-1) { alert("'" + objname + "' may not contain a close parenthesis"); x.focus(); return true } if (x.value.indexOf("(")!=-1) { alert("'" + objname + "' may not contain a open parenthesis"); x.focus(); return true } if (x.value.indexOf(">")!=-1) { alert("'" + objname + "' may not contain a greater than sign"); x.focus(); return true } if (x.value.indexOf("<")!=-1) { alert("'" + objname + "' may not contain a less than sign"); x.focus(); return true } if (x.value.indexOf(":")!=-1) { alert("'" + objname + "' may not contain a colon"); x.focus(); return true } if (x.value.indexOf(";")!=-1) { alert("'" + objname + "' may not contain a semi-colon"); x.focus(); return true } if (x.value.indexOf('"')!=-1) { alert("'" + objname + "' may not contain a quotation mark"); x.focus(); return true } return false; } function BadEmailStr(obj, objname) { x = trim(obj); L =x.length; if (x.charAt(L-1)==".") { alert("'" + objname + "' may not have a period as it last character"); return true } At=x.indexOf("@"); if (At==-1) { alert("'" + objname + "' is missing an @ sign"); return true } if (At==0) { alert("'" + objname + "' may not have @-sign as first character"); return true } if (At==(L-1)) { alert("'" + objname + "' may not have @-sign as last character"); return true } A=x.indexOf("@",At+1); if (A !=-1) { alert("'" + objname + "' may not have more than one @-sign"); return true } P =x.indexOf("."); if (P==-1) { alert("'" + objname + "' must have at least one period"); return true } if (P==0) { alert("'" + objname + "' may not have period as first character"); return true } P =x.indexOf(".",At+1); if (P==-1) { alert("'" + objname + "' must have at least one period after @-sign"); return true } if (At+1==P) { alert("'" + objname + "' must have characters between @sign and period"); return true } y=x.substring(L-3,L); // last three characters z=x.substring(L-2,L); // last two characters z=z.toLowerCase(); if (y.charAt(0)=="." && z=="us") { y=x.substring(L-6,L-3) } /* if (y.charAt(0)!=".") { y=y.toLowerCase(); if (y!="com" && y!="edu" && y!="net" && y!="org" && y!="gov" && y!="mil" && y!="int") { alert("'" + objname + "' must be .com, .edu, .net, .org, .gov, .mil, or .int "); x.focus(); return true } } if (P==(L-3)) { alert("'" + objname + "' may not have only one period and end in just two letters"); x.focus(); return true } */ if (x.indexOf(",")!=-1) { alert("'" + objname + "' may not contain a comma"); return true } if (x.indexOf(" ")!=-1) { alert("'" + objname + "' may not contain a space"); return true } if (x.indexOf("*")!=-1) { alert("'" + objname + "' may not contain a asterisk"); return true } if (x.indexOf(")")!=-1) { alert("'" + objname + "' may not contain a close parenthesis"); return true } if (x.indexOf("(")!=-1) { alert("'" + objname + "' may not contain a open parenthesis"); return true } if (x.indexOf(">")!=-1) { alert("'" + objname + "' may not contain a greater than sign"); return true } if (x.indexOf("<")!=-1) { alert("'" + objname + "' may not contain a less than sign"); return true } if (x.indexOf(":")!=-1) { alert("'" + objname + "' may not contain a colon"); return true } if (x.indexOf(";")!=-1) { alert("'" + objname + "' may not contain a semi-colon"); return true } if (x.indexOf('"')!=-1) { alert("'" + objname + "' may not contain a quotation mark"); return true } return false; } //--------------------------------------------------------------------- // // validate date input field // //----------------------------------------------------------------------> function checkDate(fldTextObj) { // format check: mm/dd/yyyy var pattern = /^\d{1,2}\/\d{1,2}\/\d{4}$/; var userInput = fldTextObj.value; if(!pattern.test(userInput)) { alert("Invalidate Date: " + fldTextObj.value + ". Please use MM/DD/YYYY."); fldTextObj.focus(); return false; } // date check if(!validateDate(fldTextObj)) { fldTextObj.focus(); alert("Invalidate Date: " + fldTextObj.value + "."); return false; } return true; } function validateDate(fldText) { var userInput = fldText.value; return validateDateText(userInput); } function validateDateText(fldText) { var userInput = fldText; // split date string by "/" var dateArray = new Array(); dateArray = userInput.split("/"); // check month if ((dateArray[0] < 1) || (dateArray[0] > 12)) { return false; } // check year: yy or yyyy if(dateArray[2].length == 3) return false; // check days if(dateArray[1] < 1) return false; // 30 days hath september, april, june, and november... if (dateArray[0] == 4 || dateArray[0] == 6 || dateArray[0] == 9 || dateArray[0] == 11) if (dateArray[1] > 30) return false; // all the rest (jan, mar, may, jul, aug, oct, dec) have 31 except for feb if ((dateArray[0] == 1) || (dateArray[0] == 3) || (dateArray[0] == 5) || (dateArray[0] == 7) || (dateArray[0] == 8) || (dateArray[0] == 10) || (dateArray[0] == 12)) if (dateArray[1] > 31) return false; // feb - deal with leap year if(dateArray[0] == 2) { var leapyear = 0; var TheYear = dateArray[2]; // user input yy = 00 if(TheYear == 0) TheYear = 2000; // user input two digits if(TheYear < 100) TheYear = TheYear + 1900; // is a leap year? if (TheYear % 4 == 0) { leapyear = 1; if (TheYear % 100 == 0) { leapyear = 0; if (TheYear % 400 == 0) leapyear = 1; } } if (dateArray[1] > (28 + leapyear)) return false; } return true; }