用于检测“”的电子邮件验证的正则表达式;.com”;

Regular expression for Email validation which detect ".com.com"

本文关键字:检测 com 正则表达式 验证 用于 电子邮件      更新时间:2023-09-26

可能重复:
在Javascript中验证电子邮件地址?

我在使用Javascript验证电子邮件地址客户端时遇到了一些问题。经过大量搜索,我找到了一个正则表达式,如下所示:-

/^([A-Za-z0-9_'-'.])+'@([A-Za-z0-9_'-'.])+'.([A-Za-z]{2,4})$ 

它与我测试过的大多数电子邮件ID都很好用。但我突然发现,它还说电子邮件有类似.com.com的扩展,这对我来说是一个严重的错误

我的问题是,我如何修改上面提到的正则表达式,它也将使.com.com无效。

我还应该提到,我也尝试过许多其他正则表达式,但它们似乎都有同样的问题。。。

谢谢。。。

这将使任何以.com.com:结尾的地址无效

/^([A-Za-z0-9_'-'.])+'@(?![A-Za-z0-9_'-'.]+'.com'.com)([A-Za-z0-9_'-'.])+'.([A-Za-z]{2,4})$

这也将使那些以@com.com:结尾的无效

/^([A-Za-z0-9_'-'.])+'@(?!(?:[A-Za-z0-9_'-'.]+'.)?com'.com)([A-Za-z0-9_'-'.])+'.([A-Za-z]{2,4})$

最后,这将使那些以结尾的任何重复无效,例如.net.net、.au.au等:

/^([A-Za-z0-9_'-'.])+'@(?!(?:[A-Za-z0-9_'-'.]+'.)?([A-Za-z]{2,4})'.'2)([A-Za-z0-9_'-'.])+'.([A-Za-z]{2,4})$

试试这个正则表达式:

function verifyEmail(){
var status = false;     
var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+'.[A-Z]{2,4}$/i;
     if (document.myform.email1.value.search(emailRegEx) == -1) {
          alert("Please enter a valid email address.");
     }
     else{
         status = true;
     }
     return status;
}
function emailCheck (emailStr) {
 var checkTLD=1;
   var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
  var emailPat=/^(.+)@(.+)$/;
  var specialChars="''('')><@,;:'''''''"''.''['']";
  var validChars="'[^''s" + specialChars + "']";
  var quotedUser="('"[^'"]*'")";
  var ipDomainPat=/^'[('d{1,3})'.('d{1,3})'.('d{1,3})'.('d{1,3})']$/;
  var atom=validChars + '+';
  var word="(" + atom + "|" + quotedUser + ")";
  var userPat=new RegExp("^" + word + "(''." + word + ")*$");
  var domainPat=new RegExp("^" + atom + "(''." + atom +")*$");
 var matchArray=emailStr.match(emailPat);
  if (matchArray==null) {
  alert("Email address seems incorrect (check @ and .'s)");
return false;
}

我的ISP网站的官方电子邮件检查方法。没有版权。所以你可以使用它。