/***************************/ //@Author: Adrian "yEnS" Mato Gondelle & Ivan Guardado Castro //@website: www.yensdesign.com //@email: yensamg@gmail.com //@license: Feel free to use it, but keep this credits please! /***************************/ $(document).ready(function(){ //global vars var form = $("#emailform"); var name = $("#name"); var nameInfo = $("#nameInfo"); var tel = $("#tel"); var telInfo = $("#telInfo"); var email = $("#email"); var emailInfo = $("#emailInfo"); var comment = $("#comment"); var privacy = $("#privacy"); var privacyInfo = $("#privacyInfo"); //On blur name.blur(validateName); email.blur(validateEmail); tel.blur(validateTel); comment.blur(validateComment); //On key press name.keyup(validateName); tel.keyup(validateTel); comment.keyup(validateComment); //On click privacy.click(validatePrivacy); //On Submitting form.submit(function(){ if(validateName() & validateEmail()& validatePrivacy() & validateTel() & validateComment()) return true else return false; }); //validation functions function validatePrivacy(){ if(privacy.attr('checked') == true){ privacyInfo.text(""); privacyInfo.removeClass("error"); return true; } else { privacyInfo.text("Attenzione: autorizzare il trattamento dei dati!"); privacyInfo.addClass("error"); return false; } } function validateTel() { var a = $("#tel").val(); var filter = /^(\+){0,1}(\d|\s|\(|\)){6,25}$/; //if it's valid phone if(filter.test(a)){ tel.removeClass("error"); telInfo.text("Ok!"); telInfo.removeClass("error"); return true; } //if it's NOT valid else{ tel.addClass("error"); telInfo.text("Attenzione: digitare un numero telefonico valido!"); telInfo.addClass("error"); return false; } } function validateEmail(){ //testing regular expression var a = $("#email").val(); var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/; //if it's valid email if(filter.test(a)){ email.removeClass("error"); emailInfo.text("Ok!"); emailInfo.removeClass("error"); return true; } //if it's NOT valid else{ email.addClass("error"); emailInfo.text("Attenzione: digitare un indirizzo e-mail valido!"); emailInfo.addClass("error"); return false; } } function validateName(){ //if it's NOT valid if(name.val().length < 4){ name.addClass("error"); nameInfo.text("Attenzione: digitare almeno 3 caratteri!"); nameInfo.addClass("error"); return false; } //if it's valid else{ name.removeClass("error"); nameInfo.text("Ok!"); nameInfo.removeClass("error"); return true; } } function validateComment(){ //it's NOT valid if(comment.val().length < 10){ comment.addClass("error"); return false; } //it's valid else{ comment.removeClass("error"); return true; } } });