// JavaScript Document function validate(object,field,errorOutput,minLength,maxLength,optional) { switch(object.type) // get object type { case "text": // text input var valid = true; var message = ""; if(optional == 0) // text { if(isEmpty(object)) { valid = false; message = "Your "+field+" must be at least " + minLength + " letters long. Please enter it again."; } if(!stringLength(object,minLength,maxLength)) { valid = false; message = "Your "+field+" must be at least " + minLength + " letters long. Please enter it again."; } } if(optional == 1) // number { if(!isNumeric(object)) { valid = false; message = "Your "+field+" must be a number. Please enter it again."; } } if(optional == 2) // username { if(isEmpty(object)) { valid = false; message = "Your "+field+" must be at least " + minLength + " letters long. Please enter it again."; } if(!stringLength(object,minLength,maxLength)) { valid = false; message = "Your "+field+" must be at least " + minLength + " letters long. Please enter it again."; } if(!stringCheckChars(object)) { valid = false; message = "Your "+field+" contains illegal characters. Please remove the illegal characters."; } } if(optional == 3) // email { if(isEmpty(object)) { valid = false; message = "Your "+field+" must be at least " + minLength + " letters long. Please enter it again."; } if(!stringLength(object,minLength,maxLength)) { valid = false; message = "Your "+field+" must be at least " + minLength + " letters long. Please enter it again."; } if(!validateEmail(object)) { valid = false; message = "Invalid "+field+". Please enter it again."; } } if(optional == 4) // verification { if(isEmpty(object)) { valid = false; message = "The "+field+" code must be " + minLength + " letters long. Please enter it again."; } if(!stringLength(object,6,6)) { valid = false; message = "The "+field+" code must be " + minLength + " letters long. Please enter it again."; } } if(optional == 5) // number { if(!isNumeric(object)) { valid = false; message = "Your "+field+" must be a number. Please enter it again."; } if(isEmpty(object)) { valid = true; } } if(optional == 6) // number empty { if(!isNumeric(object)) { valid = false; message = "The "+field+" must be a number. Please enter it again."; } if(isEmpty(object)) { valid = false; message = "The "+field+" must be a number. Please enter it again."; } } if(valid) // if ok { hide(errorOutput); // if invalid show error text } else { show(errorOutput); // if invalid show error text document.getElementById(errorOutput).innerHTML = message; } break case "textarea": // textarea show(errorOutput); // if invalid show error text document.getElementById(errorOutput).innerHTML = "The name you entered was invalid " + object.type; break case "checkbox": // checkbox show(errorOutput); // if invalid show error text document.getElementById(errorOutput).innerHTML = "The name you entered was invalid " + object.type; break default: return (true); } } function show(id){ var obj = document.getElementById(id); obj.style.display = "block"; } function hide(id){ var obj = document.getElementById(id); obj.style.display = "none"; } function stringLength(object,minLength,maxLength) { var valid = true; if ((object.value.length < minLength) || (object.value.length > maxLength)) { valid = false; } return valid; } function stringCheckChars(object) { var valid = true; var illegalChars = /\W/; // allow only letters, numbers, and underscores if (illegalChars.test(object.value)) { valid = false; } return valid; } function isEmpty(elem) { var str = elem.value; var re = /.+/; if(str.match(re)) { return false; } else { return true; } } function isNumeric(object) { var valid = true; var numericExpression = /^[0-9]+$/; if(!object.value.match(numericExpression)) { valid = false; } return valid; } function validateEmail(object) { var valid = true; var str=object.value; var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i if (filter.test(str)) valid = true; else valid = false; return valid; } function validateForm() { inputs = document.getElementsByTagName('input') // store collection of all for (i = 0;i charlimit) { textarea.value = textarea.value.substring(0, charlimit); } else { document.getElementById(textfield).innerHTML = message + textarea.value.length + ' characters used'; } }