//OK Lets validate the form var new_fieldname = "" function check(form,x) { sanitizeHTMLForm(form); var message = "" var more_message = "" var showmsg = "no" x = x - 1 for (var i = 0; i <= x; i++) { var messenger = form.elements[i].name messenger = messenger.substring(0, 2) var fieldname = form.elements[i].name fieldname = fieldname.substring(2) { if (messenger == "r_") { more_message = r_check(form,x,fieldname,i) } else if (messenger == "c_") { more_message = c_check(form,x,fieldname,i) } else if (messenger == "p_") { more_message = p_check(form,x,fieldname,i) } else if (messenger == "i_") { more_message = i_check(form,x,fieldname,i) } else if (messenger == "e_") { more_message = e_check(form,x,fieldname,i) } else if (messenger == "v_") { more_message = v_check(form,x,fieldname,i) } else if (messenger == "m_") { more_message = m_check(form,x,fieldname,i) } else if (messenger == "z_") { more_message = z_check(form,x,fieldname,i) } if (more_message != "") { if (message == "") { message = more_message more_message="" } else { message = message + "\n" + more_message more_message="" } } if (message > "") { showmsg = "yes" } } } if (showmsg == "yes") { alert("The following field(s) were incomplete or incorrect:\n------------------------------------------------\n" + message + "\n------------------------------------------------\n Please complete or correct the form and submit again."); return false; } else { form.submit() } } //Check for required fields function r_check(form,x,fieldname,i) { var msg_addition = "" new_fieldname = fieldname for (var y = 0; y <= x; y++) { if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == true) { msg_addition = "" break } else if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == false) { msg_addition = form.elements[i].value } else if (form.elements[y].type == "select-one") { var l = form.elements[y].selectedIndex if (form.elements[y].name == fieldname && form.elements[y].options[l].value != "") { msg_addition = "" break } else if (form.elements[y].name == fieldname && form.elements[y].options[l].value == "") { msg_addition = form.elements[i].value } } else if (form.elements[y].name == fieldname && form.elements[y].value == "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one") { msg_addition = form.elements[i].value break } else if (form.elements[y].name == fieldname && form.elements[y].value != "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one") { msg_addition = "" } } return(msg_addition) } //Check for integers function i_check(form,x,fieldname,i) { for (var y = 0; y <= x; y++) { if (form.elements[y].name == fieldname) break } var msg_addition = "" var decimal = "" inputStr = form.elements[y].value.toString() if (inputStr == "") { msg_addition = form.elements[i].value } else { for (var c = 0; c < inputStr.length; c++) { var oneChar = inputStr.charAt(c) if (oneChar < "0" || oneChar > "9") { msg_addition = form.elements[i].value } } } return(msg_addition) } //Zip Code validation function z_check(form,x,fieldname,i) { for (var y = 0; y <= x; y++) { if (form.elements[y].name == fieldname) break } var msg_addition = ""; inputStr = form.elements[y].value.toString(); if (inputStr.length == 5 || inputStr.length == 9 || inputStr.length ==10) { for (var c = 0; c < inputStr.length; c++) { var oneChar = inputStr.charAt(c) if (inputStr.length!=10 || (inputStr.length=10 && c!=5)) { if (oneChar < "0" || oneChar > "9") { msg_addition = form.elements[i].value; } } else { if (oneChar != "-") { msg_addition = form.elements[i].value; } } } } else if (inputStr.length > 0) { msg_addition = form.elements[i].value; } return(msg_addition); } //Email Address format check function e_check(form,x,fieldname,i) { for (var y = 0; y <= x; y++) { if (form.elements[y].name == fieldname) break } var msg_addition = ""; ctrl = eval("form."+fieldname); period = "."; error = 0; //Need east one letter before @ if (ctrl.value !="") { if ( ctrl.value.indexOf ('@', 0) < 1) { error = 1; } else { //A period must come after the @ testStr = ctrl.value.substr(ctrl.value.indexOf('@')+1); test = testStr.indexOf('.'); // there must be characters between '@' and the first '.' if (test > 0) { // '.' must not be the last character if (testStr.lastIndexOf('.') == testStr.length-1) { error = 1; } else { error = 0; } } else { error=1; } } } if (error == 1) { msg_addition = form.elements[i].value } else { msg_addition = ""; } return(msg_addition) } //Email Verify format check function v_check(form,x,fieldname,i) { for (var y = 0; y <= x; y++) { if (form.elements[y].name == fieldname) break } var msg_addition = "" vctrl = form.emailVerify; period = "."; //Need east one letter before @ if (vctrl.value == "" || vctrl.value.indexOf ('@', 0) < 1) { error = 1; } else { //A period must come after the @ vtest = vctrl.value.indexOf('.', vctrl.value.indexOf ('@', 0)) if (vtest != -1) { error = 0; } else { error=1; } } if (error == 1) { msg_addition = form.elements[i].value } else { new_length = vctrl.value.length - vtest //The length of email address - the number of characters from @ to a period. if (new_length == 4 || new_length == 3 || (new_length >= 5 && vctrl.value.indexOf ('.', (vtest+1)) != -1)) { msg_addition = "" } else { msg_addition = form.elements[i].value; } } return(msg_addition) } //User email duplication verify function m_check(form,x,fieldname,i) { for (var y = 0; y <= x; y++) var msg_addition = "" mctrl = form.email; mvctrl = form.emailVerify; if (mctrl.value != mvctrl.value) { msg_addition = form.elements[i].value } else { msg_addition = "" } return(msg_addition) } //User Name characters validation function c_check(form,x,fieldname,i) { for (var y = 0; y <= x; y++) { if (form.elements[y].name == fieldname) break } var msg_addition = "" var bslash = "\\"; var colon = ":"; var scolon = "\;"; var dquote = "\""; var squote = "\'"; var period = "\."; var fslash = "\/"; var qmark = "\?"; var gthan = "\>"; var comma = "\,"; var lthan = "\<"; inputStr = form.elements[y].value.toString() if (inputStr == "") { msg_addition = form.elements[i].value } else { for (var c = 0; c < inputStr.length; c++) { var oneChar = inputStr.charAt(c) if ((oneChar == "~") || (oneChar == "`") || (oneChar == "!") || (oneChar == "@") || (oneChar == "#") || (oneChar == "$") || (oneChar == "%") || (oneChar == "^") || (oneChar == "&") || (oneChar == "*") || (oneChar == "(") || (oneChar == ")") || (oneChar == "_") || (oneChar == "-") || (oneChar == "+") || (oneChar == "=") || (oneChar == "{") || (oneChar == "}") || (oneChar == "[") || (oneChar == "]") || (oneChar == "|") || (oneChar == bslash) || (oneChar == colon) || (oneChar == scolon) || (oneChar == dquote) || (oneChar == squote) || (oneChar == period) || (oneChar == fslash) || (oneChar == qmark) || (oneChar == gthan) || (oneChar == comma) || (oneChar == lthan)) { msg_addition = form.elements[i].value } } } return(msg_addition) } //User password validation function p_check(form,x,fieldname,i) { var msg_addition = "" pctrl = form.password; pvctrl = form.passwordconfirmation; if ((pctrl.value != pvctrl.value) || (pctrl.value.length < 5) || (pvctrl.value.length < 5)) { msg_addition = form.elements[i].value } else { msg_addition = "" } return(msg_addition) } function asc(each_char) { var n = 0 var char_str = charSetStr() for (i = 0; i < char_str.length; i++) { if (each_char == char_str.substring(i, i+1)) { break; } } return i + 32 } //Character set string function charSetStr() { var str; str = ' !"#$%&' + "'" + '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~'; return str; } //End of form validation------------// function CheckZip(stateStr,inputStr) { sanitizeHTML(stateStr); sanitizeHTML(inputStr); var tmpIdx = stateStr.indexOf('|'); var state = stateStr.substring(tmpIdx+1).toLowerCase(); if (state != "canada" && state != "") { if (inputStr.length < 5) { alert("A valid U.S. Zip is required."); return false; } else { var blnValid = true; for (var c = 0; c < inputStr.length; c++) { var oneChar = inputStr.charAt(c) if (oneChar < "0" || oneChar > "9") { blnValid = false; } } if (blnValid == false) { alert("A valid U.S. Zip is required."); return false; } else { return true; } } } else { return true; } } function sanitizeHTML(s) { return s.replace(/[^a-zA-Z @ . _ 0-9]+/g,''); } function sanitizeHTMLForm(form) { for(i=0; i