Probé varias soluciones pero no funcionó. No es tan bueno con JavaScript, especialmente con RegEx. Encontré esta solución en línea, pero no pude modificarla.
Básicamente, necesito permitir el dominio EDU en el campo de correo electrónico. Creo que sería @ohio.edu o @ohio.edu.com o algo así. ¿Cómo puedo decir que si no hay una frase "edu" después de @, entonces no permita el registro?
$(".single-memberpressproduct.postid-1945 .mepr-submit").click(function() { validateEmail(jQuery("input#user_email1").val()); return false; }); function validateEmail(email) { var emailRegx = /b(?:(?![_.-])(?!.*[_.-]{2})[a-z0-9_.-]+(?<![_.-]))@(?:(?!-)(?!.*--)[a-z0-9-]+(?<!-).)*.edub/i; if (emailRegx.test(email)) { if (email.indexOf('@edu.com', email.length - '@edu.com'.length) !== -1) { alert('Submission was successful.'); } else { alert('Not a valid e-mail address @.'); } } else { alert('Not a valid e-mail address.'); } } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <form class="single-memberpressproduct postid-1945"> <input type="text" id="user_email1" value="" /> <input type="submit" class="mepr-submit" /> </form>Terminé usando un enfoque diferente.
<script> jQuery('.single-memberpressproduct.postid-1945 .mepr-submit').attr("disabled", "disabled"); var youtubeRegex = /edu/i; jQuery('input#user_email1').keyup(function(){ jQuery(".single-memberpressproduct.postid-1945 .mepr-submit").attr("disabled", !youtubeRegex.test(this.value)); }); </script>