$(document).ready(function(){ //global vars var form = $("#customForm"); var email = $("#email"); var emailInfo = $("#emailInfo"); var emailvalid = $("#emailvalid"); var emailvalidInfo = $("#emailvalidInfo"); var country = $("#country"); var countryInfo = $("#countryInfo"); var name = $("#name"); var nameInfo = $("#nameInfo"); var vorname = $("#vorname"); var vornameInfo = $("#vornameInfo"); var street = $("#street"); var streetInfo = $("#streetInfo"); var zip = $("#zip"); var zipInfo = $("#zipInfo"); var city = $("#city"); var cityInfo = $("#cityInfo"); var vat = $("#vat"); var vatInfo = $("#vatInfo"); //On blur name.blur(validatename); name.keyup(validatename); vorname.blur(validatevorname); vorname.keyup(validatevorname); street.blur(validatestreet); street.keyup(validatestreet); zip.blur(validatezip); zip.keyup(validatezip); city.blur(validatecity); city.keyup(validatecity); vat.blur(validatevat); email.blur(validateEmail); emailvalid.blur(validateEmailvalid); //On key press //On Submitting form.submit(function(){ if(validatename() & validatevorname() & validatestreet() & validatezip() & validatecity() & validatevat() & validateEmail() & validateEmailvalid() ) return true else return false; }); //validation functions function validateEmail(){ //testing regular expression var a = $("#email").val(); var filter = /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i; //if it's valid email if(filter.test(a)){ email.removeClass("error"); emailInfo.text("Merci! Adresse e-mail accepté"); emailInfo.removeClass("error"); return true; } //if it's NOT valid else{ email.addClass("error"); emailInfo.text("Invalid E-mail: Entrez une adresse e-mail s'il vous plaît"); emailInfo.addClass("error"); return false; } } function validateEmailvalid(){ var a = $("#email").val(); var b = $("#emailvalid").val(); //if it's valid email if(a == b){ emailvalid.removeClass("error"); emailvalidInfo.text("Email-Adresses correspondre"); emailvalidInfo.removeClass("error"); return true; } //if it's NOT valid else{ emailvalid.addClass("error"); emailvalidInfo.text("Email-adresses ne correspondent pas"); emailvalidInfo.addClass("error"); return false; } } function validatevat(){ var a = $("#vat").val(); var vat_corr =a.toUpperCase(); switch (vat_corr.substr(0,2)) { case "AT": var regex = /^(AT){0,1}U[0-9]{8}$/i break; case "BE": var regex = /^(BE){0,1}[0]{0,1}[0-9]{9}$/i break; case "BG": var regex = /^(BG){0,1}[0-9]{9,10}$/i break; case "CY": var regex = /^(CY){0,1}[0-9]{8}[A-Z]$/i break; case "CZ": var regex = /^(CZ){0,1}[0-9]{8,10}$/i break; case "DK": var regex = /^(DK){0,1}([0-9]{2}[\ ]{0,1}){3}[0-9]{2}$/i break; case "EE": case "DE": case "PT": case "EL": var regex = /^(EE|EL|DE|PT){0,1}[0-9]{9}$/i break; case "FR": var regex = /^(FR){0,1}[0-9A-Z]{2}[\ ]{0,1}[0-9]{9}$/i break; case "FI": case "HU": case "LU": case "MT": case "SI": var regex = /^(FI|HU|LU|MT|SI){0,1}[0-9]{8}$/i break; case "IE": var regex = /^(IE){0,1}[0-9][0-9A-Z\+\*][0-9]{5}[A-Z]$/i break; case "IT": case "LV": var regex = /^(IT|LV){0,1}[0-9]{11}$/i break; case "LT": var regex = /^(LT){0,1}([0-9]{9}|[0-9]{12})$/i break; case "NL": var regex = /^(NL){0,1}[0-9]{9}B[0-9]{2}$/i break; case "PL": case "SK": var regex = /^(PL|SK){0,1}[0-9]{10}$/i break; case "RO": var regex = /^(RO){0,1}[0-9]{2,10}$/i break; case "SE": var regex = /^(SE){0,1}[0-9]{12}$/i break; case "ES": var regex = /^(ES){0,1}([0-9A-Z][0-9]{7}[A-Z])|([A-Z][0-9]{7}[0-9A-Z])$/i break; case "GB": var regex = /^(GB){0,1}([1-9][0-9]{2}[\ ]{0,1}[0-9]{4}[\ ]{0,1}[0-9]{2})|([1-9][0-9]{2}[\ ]{0,1}[0-9]{4}[\ ]{0,1}[0-9]{2}[\ ]{0,1}[0-9]{3})|((GD|HA)[0-9]{3})$/i break; default: var regex = /^(GB){0,1}([1-9][0-9]{2}[\ ]{0,1}[0-9]{4}[\ ]{0,1}[0-9]{2})|([1-9][0-9]{2}[\ ]{0,1}[0-9]{4}[\ ]{0,1}[0-9]{2}[\ ]{0,1}[0-9]{3})|((GD|HA)[0-9]{3})$/i break; } var m = vat_corr.match(regex); if ((m != null) || (vat_corr == '')) { vat.removeClass("error"); vatInfo.text("OK: Nombre acceptée!"); vatInfo.removeClass("error"); return true; } else { vat.addClass("error"); vatInfo.text("Invalid Nombre!"); vatInfo.addClass("error"); return false; } } function validatename(){ if(name.val().length < 2) { name.addClass("error"); nameInfo.text("Invalid Nom: Seuls les noms de plus de 3 lettres ont été acceptées!"); nameInfo.addClass("error"); return false; } else{ name.removeClass("error"); nameInfo.text("Nom OK: Durée minimum a été atteint"); nameInfo.removeClass("error"); return true; } } function validatevorname(){ if(vorname.val().length < 2) { vorname.addClass("error"); vornameInfo.text("Invalid Prénom: Seuls les noms de plus de 3 lettres ont été acceptées!"); vornameInfo.addClass("error"); return false; } else{ vorname.removeClass("error"); vornameInfo.text("Prénom OK: Durée minimum a été atteint"); vornameInfo.removeClass("error"); return true; } } function validatestreet(){ if(street.val().length < 2) { street.addClass("error"); streetInfo.text("Invalid Rue: Nous voulons que les noms de plus de 3 lettres!"); streetInfo.addClass("error"); return false; } else{ street.removeClass("error"); streetInfo.text("OK: Durée minimum a été atteint"); streetInfo.removeClass("error"); return true; } } function validatezip(){ if(zip.val().length < 2) { zip.addClass("error"); zipInfo.text("Invalid ZIP: Nous voulons que les noms de plus de 3 lettres!"); zipInfo.addClass("error"); return false; } else{ zip.removeClass("error"); zipInfo.text("OK: Durée minimum a été atteint"); zipInfo.removeClass("error"); return true; } } function validatecity(){ if(city.val().length < 2) { city.addClass("error"); cityInfo.text("Invalid Ville: Nous voulons que les noms de plus de 3 lettres!"); cityInfo.addClass("error"); return false; } else{ city.removeClass("error"); cityInfo.text("OK: Durée minimum a été atteint"); cityInfo.removeClass("error"); return true; } } } )