在JS中使用正则表达式检查有效的电子邮件地址失败

check valid email address with regex in JS failed

本文关键字:有效 电子邮件地址 失败 检查 正则表达式 JS      更新时间:2023-09-26

为什么不是警报触发器

if ( /^'w+(['.-]?'w+)*@'w+(['.-]?'w+)*('.'w{2,3})+$/.test('x@')){  
    alert('Please make sure the email is valid.');
}

使用以下函数。

    function IsValidEmail(emailText) {
    var atpos = emailText.indexOf("@");
    var dotpos = emailText.lastIndexOf(".");
    if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= emailText.length) {
        return false;
    }
    return true;
}

因为您的逻辑颠倒了 - 如果某些内容有效的电子邮件地址,您会发出警报。

if ( valid email address ) { alert }x@不是有效的电子邮件地址。无警报。

尝试!反转测试结果:

if (! /^'w+(['.-]?'w+)*@'w+(['.-]?'w+)*('.'w{2,3})+$/.test('x@') ) {
    alert('Please make sure the email is valid.');
}

它将支持在 [点] 2 ,3 个字符之后为 根据您的域

var email_filter  = /^(['w-'.]+)@(('[[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'.)|((['w-]+'.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(']?)$/;
    if (email_filter.test('yourEmail@gmail.com')) {
      alert('Email is valid');
    }