Estoy tratando de validar un correo electrónico como ab@cd o a@bc usando JavaScript. Y también quiere mostrar el número del carácter del correo electrónico como
Email: abc@gmail.com atpos =3 dotpos =9Aquí está mi código:
<script> function validemail() { var emailID = document.getElementById("email").value; var mailformat = /^([A-Za-z0-9\.])+\@([A-Za-z0-9])+\.([A-Za-z]{2,4})$/; atpos = emailID.indexOf("@"); dotpos = emailID.lastIndexOf("."); if (mailformat.test(emailID)) alert("Valid Email"); document.write("atpos =", atpos, "<br/>"); document.write("dotpos =", dotpos); else alert("Invalid Email, Try Again"); } </script> <html> <body> <div class="form"> <label for="email">Enter Email: </label> <input type = "text" id = "email"> <button onclick="validemail()" type="button">Submit</button> </div> </body> </html>Si desea mostrar la cantidad de caracteres antes y después de @ , simplemente puede usar la función de split como esta
const emailID = document.getElementById("email").value; const res = emailID.split(/[@]/); const atpos = res[0].length; const dotpos = res[1].length;Y para la validación, consulte este: ¿Cómo puedo validar una dirección de correo electrónico en JavaScript?