插件窝 干货文章 如何在 JavaScript 中使用 RegExp 验证电子邮件地址?

如何在 JavaScript 中使用 RegExp 验证电子邮件地址?

JavaScript 正则表达式 邮箱验证 RegExp 表单验证    来源:    2025-07-24

如何在 JavaScript 中使用 RegExp 验证电子邮件地址?

在 Web 开发中,表单验证是确保用户输入数据有效性的重要环节。其中,电子邮件地址的验证尤为常见。本文将详细介绍如何使用 JavaScript 的正则表达式(RegExp)来验证电子邮件地址格式。

基本的电子邮件验证正则表达式

以下是一个简单的 JavaScript 正则表达式,可用于验证电子邮件地址的基本格式:

function validateEmail(email) {
  const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
  return re.test(email);
}

// 使用示例
console.log(validateEmail('example@domain.com')); // true
console.log(validateEmail('invalid.email')); // false

更严格的电子邮件验证正则表达式

如果需要更严格的验证,可以使用以下正则表达式:

function strictValidateEmail(email) {
  const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  return re.test(email);
}

如何在 HTML 表单中使用

将上述验证函数与 HTML 表单结合使用的示例:

<form id="emailForm">
  <input type="text" id="email" placeholder="输入邮箱地址">
  <button type="submit">提交</button>
  <p id="error" style="color:red; display:none;">请输入有效的邮箱地址</p>
</form>

<script>
  document.getElementById('emailForm').addEventListener('submit', function(e) {
    e.preventDefault();
    const email = document.getElementById('email').value;
    const errorElement = document.getElementById('error');
    
    if (!validateEmail(email)) {
      errorElement.style.display = 'block';
    } else {
      errorElement.style.display = 'none';
      // 表单提交逻辑
    }
  });
</script>

注意事项

  • 正则表达式验证只能确保格式正确,不能验证邮箱是否真实存在
  • 过于复杂的正则表达式可能影响性能
  • HTML5 也提供了内置的邮箱验证:<input type="email">
  • 考虑在客户端和服务端都进行验证

结论

使用 JavaScript 的 RegExp 进行电子邮件验证是前端开发中的常见需求。本文提供了从简单到复杂的验证方法,开发者可以根据项目需求选择合适的验证强度。记住,客户端验证不能替代服务器端验证,两者应结合使用以确保数据安全性和完整性。