使用js验证电子邮件

时间:2014-03-24 07:19:49

标签: javascript regex forms

我尝试创建此表单,只允许用户提交使用@ msu.edu电子邮件的电子邮件。当它不是msu.edu电子邮件时,我会收到警报,但是当我使用像test@msu.edu这样的电子邮件时它没有提交表单。

function checkMail() {
    var email = document.validation.email.value.toLowerCase();
    var filter = /^([\w-]+(?:\.[\w-]+)*)@msu.edu/i;
    var result = filter.test(email);
    alert('Valid email found: ' + result);
    return result;
}

4 个答案:

答案 0 :(得分:3)

你需要逃离那里的.

正确的代码:

function checkMail() {
    var email = document.validation.email.value.toLowerCase();
    var filter = /^([\w-]+(?:\.[\w-]+)*)@msu\.edu/i;
    //                                       ^-- escape this dot
    var result = filter.test(email);
    alert('Valid email found: ' + result);
    return result;
}

Demo

答案 1 :(得分:1)

按照这样的格式...... var filter = /^([\w-]+(?:\.[\w-]+)*)@msu\.edu/i;按照Gaurang的说法。它有效。

答案 2 :(得分:0)

为什么不试试这个

bool IsValidEmail(string email)
{
    try {
        var addr = new System.Net.Mail.MailAddress(email);
        return true;
    }
    catch {
        return false;
    }
}

答案 3 :(得分:0)

这样做

将此函数设为onclick事件按钮,并使用TextBox Id更改getelementById的Id,这将为您提供警报“msu.edu”

     function checkMail() 
      {
        var email = document.getElementById("email").value.toLowerCase();
        var regex = /^(([^<>()[\]\\.,;:\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,}))$/; ;
      if (regex.test(email)) 
        {
          var temp = email.substring(email.lastIndexOf("@")+1);
          if (temp != "msu.edu") 
          {
              alert("Enter correct email");
          }

      }

  }