Hola, esto lo puedes lograr sin javascript usando El atributo «pattern» dentro de el input y se usa de la siguiente manera
Código HTML:
<input type="text" pattern="^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$" required/>
Con esto le estas diciendo lo que se puede usar dentro del input saludos y espero que te ayude.