Simplemente quiero mostrar un mensaje de error como "El correo electrónico debe contener @" y evitar que se envíe el formulario, si hay un error.
¿Cómo puedo hacer esto?
Mi último intento que es un fracaso:
const email = document.getElementById('email') const emailmessage = document.getElementById('emailmessage') const regex = ('^\S+@\S+$') form.addEventListener('submit', function (event) { if(!email.value.match(regex)) { emailchecker(); event.preventDefault(); } }); let emailchecker = function() { if(!email.value.match(regex)) { document.getElementById('emailmessage').innerHTML = '<img src="222.svg" height="15"/> Email Error'; }Su código es correcto, solo necesita la expresión regular para la validación del correo electrónico:
function emailchecker (emailAdress){ let regexEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; if (emailAdress.match(regexEmail)) { return true; } else { return false; } } let emailAdress = "test@gmail.com"; console.log(emailchecker(emailAdress)); //return true