// Variables var email_max_allowed = '500'; var email_verify = ''; var email_p = 0; var email_pageid = 0; var email_yourEMAIL = ''; var email_message = ''; var email_friendEMAIL = ''; var email_friendEMAILS = ''; // Email Form Validation function validate_email_form() { if(document.getElementById('yourEMAIL')) { email_yourEMAIL = document.getElementById('yourEMAIL').value; } if(document.getElementById('message')) { email_message = document.getElementById('message').value; } email_friendEMAIL = document.getElementById('friendEMAIL').value; email_friendEMAILS = email_friendEMAIL.split(","); // Variables var errFlag = false; var errMsg = "The Following Error(s) Occured:\n"; errMsg = errMsg + "__________________________________\n\n"; // Your Email Validation if(document.getElementById('yourEMAIL')) { if(isEmpty(email_yourEMAIL)) { errMsg = errMsg + "- Your Email is empty\n"; errFlag = true; } if(!is_valid_email(email_yourEMAIL)) { errMsg = errMsg + "- Your Email is invalid\n"; errFlag = true; } } // Your Remarks Validation if(document.getElementById('message')) { if(!isEmpty(email_message)) { if(!is_valid_remarks(email_message)) { errMsg = errMsg + "- Your Message content is invalid\n"; errFlag = true; } } } // Friend Email(s) Validation if(isEmpty(email_friendEMAIL)) { errMsg = errMsg + "- Friend Email(s) is empty\n"; errFlag = true; } else { for(i = 0; i < email_friendEMAILS.length; i++) { if(isEmpty(email_friendEMAILS[i])) { errMsg = errMsg + "- Friend Email is empty: " + email_friendEMAILS[i] + "\n"; errFlag = true; } if(!is_valid_email(email_friendEMAILS[i])) { errMsg = errMsg + "- Friend Emails must use commas to seperate \n(e.g a1@email.com, a2@email.com): " + email_friendEMAILS[i] + "\n"; errFlag = true; } } } if(email_friendEMAILS.length > email_max_allowed) { errMsg = errMsg + "- Maximum 10 Friend Email(s) allowed\n"; errFlag = true; } // If There Is Error Alert It if (errFlag == true){ alert(errMsg); return false; } else { return true; } } // Check Form Field Is Empty function isEmpty(value){ if (trim(value) == "") { return true; } return false; } // Trim White Spaces function trim(strText) { // this will get rid of leading spaces while (strText.substring(0,1) == ' ') strText = strText.substring(1, strText.length); // this will get rid of trailing spaces while (strText.substring(strText.length-1,strText.length) == ' ') strText = strText.substring(0, strText.length-1); return strText; } // Check Name function is_valid_name(name) { var name = trim(name); var filter = /[(\*\(\)\[\]\+\,\/\?\:\;\'\"\`\~\\#\$\%\^\&\<\>)+]/; return !filter.test(name); } // Check Email function is_valid_email(email) { var email = trim(email); var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; return filter.test(email); } // Check Remarks function is_valid_remarks(remarks) { var remarks = trim(remarks); var injection_strings = new Array('apparently-to', 'cc', 'bcc', 'boundary', 'charset', 'content-disposition', 'content-type', 'content-transfer-encoding', 'errors-to', 'in-reply-to', 'message-id', 'mime-version', 'multipart/mixed', 'multipart/alternative', 'multipart/related', 'reply-to', 'x-mailer', 'x-sender', 'x-uidl'); for(i = 0; i < injection_strings.length; i++) { if(remarks.indexOf(injection_strings[i]) != -1) { return false; } } return true; }