Cómo validar correctamente un email en JavaScript con expresiones regulares
¡Hola a todos! Soy nuevo en JavaScript y estoy escribiendo un formulario de registro en un sitio web. Necesito que antes de enviar los datos al servidor se verifique que el usuario ingresó un email válido.
Escribí esta función:
```javascript
function validateEmail(email) {
if (email.includes('@') && email.includes('.')) {
return true;
} else {
return false;
}
}
```
Pero permite direcciones claramente inválidas, por ejemplo: "test@.com" o "user@domain" (sin punto). Entiendo que debo usar expresiones regulares, pero no las entiendo bien. Intenté copiar de internet algo como `/^\S+@\S+\.\S+$/`, pero tampoco funciona para todos los casos — por ejemplo, permite "a@b.c" (esto parece válido, pero no estoy seguro).
¿Me podrían decir cómo hacer una validación confiable de email en el lado del cliente? ¿Debo ser demasiado estricto, o es suficiente con una validación básica? ¿Y cómo usar correctamente las expresiones regulares para esta tarea? Preferiblemente con ejemplos de código y explicación de cómo funciona.