function indicateLength(element, maxLength) { if (element.value.length > maxLength) // if too long...trim it! element.value = element.value.substring(0, maxLength); document.getElementById(element.name + "LengthIndicator").innerHTML = element.value.length + "/" + maxLength; } function isRequiredElementValid(element) { if (element.type == "select") { if (element.options[element.options.selectedIndex].value.length == 0) { element.className = "invalidFormElement"; return false; } element.className = ""; } else { if (element.value.length == 0) { element.className = "invalidFormElement"; return false; } element.className = "textarea"; } return true; } function isCorrectlyFormedZipCode(element) { var re = /[^\d]/; if (element.value.length != 5 || re.test(element.value)) { element.className = "invalidFormElement"; document.getElementById(element.name + "ErrorMessage").innerHTML = "Zip codes are five digits."; return false; } element.className = "textarea"; document.getElementById(element.name + "ErrorMessage").innerHTML = ""; return true; } function isCorrectlyFormedPhoneNumber(element) { var re = /^\d{10}$/; if (!re.test(element.value)) { element.className = "invalidFormElement"; document.getElementById(element.name + "ErrorMessage").innerHTML = "Phone numbers are ten digits."; return false; } element.className = "textarea"; document.getElementById(element.name + "ErrorMessage").innerHTML = ""; return true; } function isCorrectlyFormedEmail(element) { if (!isValidEmail(element)) { element.className = "invalidFormElement"; document.getElementById(element.name + "ErrorMessage").innerHTML = "Email addresses are of the form \"email@domain.com\"."; return false; } element.className = "textarea"; document.getElementById(element.name + "ErrorMessage").innerHTML = ""; return true; } function isValidEmail(element) { var re = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,7})+$/; return (element.value != "you@yourdomain.com" && element.value != "you@email.com" && re.test(element.value)); }