Javascript电子邮件验证不起作用

Javascript email validation does not work

本文关键字:不起作用 验证 电子邮件 Javascript      更新时间:2023-09-26

我的代码出了什么问题?我找不到解决办法。

var 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,}))$/";
var email= document.getElementById("email").value;
if (re.test(email) == false) {  
    document.getElementById("email").focus();
    return false;
}

双引号引起了问题,谢谢!我不能投票,因为我的声誉:-(

就像suresh建议的那样,您应该删除正则表达式字符串周围的引号(")。所以你的第一行应该是:

var 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,}))$/;

我制作了一个工作示例如下:

<script>
function test()
{
  var 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,}))$/;
  var email= "test@somedomain.com";
  if (re.test(email) == false) {  
    alert("invalid email address");
    return;
  }
  alert("valid address");
}
</script>
<button onclick="test()">TEST</button>

让我们尝试一下,这对我来说是明智的

  function IsEmail(email) {
                var regex = /^([a-zA-Z0-9_'.'-'+])+'@(([a-zA-Z0-9'-])+'.)+([a-zA-Z0-9]{2,4})+$/;
                return regex.test(email);
             }
if(!IsEmail(mailString)){
                $("#somediv").text(" Email should be valid ");
                return false;
                }