Avatar ·

如何在JavaScript中正确验证电子邮件:使用正则表达式及其他方法

大家好!我是JavaScript新手,正在为我的第一个项目编写注册表单。我需要在发送到服务器之前检查用户输入的电子邮件是否有效。我尝试过通过 `includes('@')` 进行简单检查,但这显然不可靠——用户可以输入 "test@test" 或 "123@@@"。请问如何正确验证电子邮件? 以下是我尝试过的代码: ```javascript function validateEmail(email) { if (email.includes('@') && email.includes('.')) { return true; } return false; } console.log(validateEmail('test@test')); // true — 但这不是有效的电子邮件 console.log(validateEmail('@.com')); // true — 也是无效的 ``` 我听说需要使用正则表达式(RegExp),但对我来说它像一片黑暗森林。请用通俗易懂的方式解释:如何为电子邮件编写正确的regex,允许哪些字符,以及如何处理像 .museum 或 .travel 这样的顶级域名(TLD)?如果我在前端验证了,还需要在服务器端检查电子邮件吗?