$(document).ready(function () { jQuery("input[type=submit]").css("pointer-events", "auto"); jQuery.validator.addMethod( "regex", function (value, element, regexp) { if (regexp.constructor != RegExp) regexp = new RegExp(regexp); else if (regexp.global) regexp.lastIndex = 0; return this.optional(element) || regexp.test(value); }, "Ce numéro de téléphone est invalide." ); jQuery.extend(jQuery.validator.messages, { required: "Ce champ est requis", email: "Cet email est invalide", maxlength: jQuery.validator.format("{0} caractères maximum."), }); $("#formMougins").validate({ rules: { lastname: { required: true, maxlength: 50, }, firstname: { required: true, maxlength: 50, }, phone: { required: "#nlsms:checked", maxlength: 10, minlength: 10, regex: /^(?:(?:\+|00)33|0)\s*[1-9](?:[\s.-]*\d{2}){4}$/, }, emailaddress: { required: true, email: true, }, zipCode: { required: true, maxlength: 5, minlength: 5, }, city: { required: true, maxlength: 50, }, }, }); jQuery(".nav p").click(function () { var data = jQuery(this).attr("data-section"); jQuery("html, body").animate( { scrollTop: jQuery("section[data-section=" + data + "]").offset().top, }, 500 ); }); }); // ----------------------------------------------------------------- jQuery(".replacechar").keypress(function (event) { var char = event.key.toLowerCase(); // récupère le caractère pressé en minuscule // tableau des caractères accentués et de leur équivalent non accentué en majuscule var replacements = { à: "A", â: "A", ä: "A", é: "E", è: "E", ê: "E", ë: "E", î: "I", ï: "I", ô: "O", ö: "O", ù: "U", û: "U", ü: "U", ç: "C", }; // si le caractère pressé est accentué, le remplace par son équivalent non accentué en majuscule if (replacements[char]) { var replacement = replacements[char]; var selectionStart = event.target.selectionStart; var selectionEnd = event.target.selectionEnd; // remplace le caractère pressé par son équivalent non accentué en majuscule event.target.value = event.target.value.substring(0, selectionStart) + replacement + event.target.value.substring(selectionEnd); // replace la sélection à sa position initiale event.target.setSelectionRange(selectionStart + 1, selectionStart + 1); // annule l'événement de pression de touche pour éviter l'insertion du caractère original event.preventDefault(); } }); function verifierCaractereEmail(caractere) { // Expression régulière pour valider un caractère dans une adresse email var regex = /[a-zA-Z0-9_@.-]/; // Vérifier si le caractère est valide if (regex.test(caractere)) { return true; // Caractère valide } else { return false; // Caractère invalide } } jQuery("#emailaddress").keypress(function (event) { var caractere = event.key; // Récupérer le caractère saisi var emailInput = document.getElementById("email"); // Récupérer l'élément d'entrée de l'adresse email var email = emailInput.value; // Récupérer l'adresse email saisie // Vérifier si le caractère est valide pour l'adresse email if (verifierCaractereEmail(caractere)) { email += caractere; // Ajouter le caractère à l'adresse email } emailInput.value = email; // Mettre à jour l'adresse email saisie event.preventDefault(); // Empêcher le caractère saisi d'être ajouté automatiquement à l'adresse email });