JS 准确完善的电子邮件验证正则表达式

在 JavaScript 中,可以使用正则表达式(regex)来验证电子邮件地址的格式。以下是一个常用的电子邮件验证正则表达式示例及其使用方法:

代码语言:javascript代码运行次数:0运行复制
// 定义电子邮件验证正则表达式
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;

// 创建一个函数来验证电子邮件
function validateEmail(email) {
    return emailRegex.test(email);
}

// 示例使用
const email1 = "example@example";
const email2 = "invalid-email";

console.log(validateEmail(email1)); 
// 输出: true
console.log(validateEmail(email2)); 
// 输出: false

解释

  • ^[^\s@]+:起始部分,匹配一个或多个非空白字符和非 @ 符号的字符。
  • @:匹配 @ 符号。
  • [^\s@]+:匹配一个或多个非空白字符和非 @ 符号的字符(域名部分)。
  • \.:匹配一个点 . 符号。
  • [^\s@]+$:结尾部分,匹配一个或多个非空白字符和非 @ 符号的字符。

进一步验证

虽然上述正则表达式适合大多数基本的电子邮件验证需求,但更复杂的电子邮件地址可能需要更完善的正则表达式。以下是一个更复杂的电子邮件验证正则表达式示例:

代码语言:javascript代码运行次数:0运行复制
// 更复杂的电子邮件验证正则表达式
const complexEmailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;

function validateComplexEmail(email) {
    return complexEmailRegex.test(email);
}

// 示例使用
const email1 = "example@example";
const email2 = "invalid-email";

// 示例使用
console.log(validateComplexEmail(email1)); 
// 输出: true
console.log(validateComplexEmail(email2)); 
// 输出: false

这个正则表达式更严格地匹配了常见的电子邮件格式,包括允许的字符集和顶级域名的长度。

注意

尽管正则表达式可以帮助过滤掉明显无效的电子邮件地址,但它不能确保电子邮件地址的真实性。要验证电子邮件地址是否真实存在,更安全的做法是需要发送验证邮件并要求用户确认。