在 jquery 中验证电子邮件字段中域名的最有效方法



我只需要在电子邮件字段中进行一次验证,即域名说'某事'。

例:

adarsh.k@something.com -valid
adarsh.k@gmail.com - invalid

我在文本框中输入了电子邮件ID,如下所示,您能告诉我正则表达式以进行基本的上述验证吗?

 var emailId = $('#txtRcpntAdress').val();

我正在尝试使用下面给出的 reqular 表达式作为模式。

var validDomain = "something";
var pattern = new RegExp("([A-Za-z0-9_-.])"+"@" + validDomain + "(.[a-zA-Z]{2,4})$");

它抛出一个错误

Microsoft JScript runtime error: Invalid range in character set

你能帮忙吗?

谢谢阿达什

这应该可以解决问题:

   var validDomain = "something";
   var pattern = new RegExp("^[A-Za-z0-9_\-\.]+@" + validDomain + "(.[a-zA-Z\.]{2,5})$");
   var emailId = "adarsh.k@something.com";
   if( emailId.match(pattern) )
   {
     // ... email is valid
   }

如果要匹配完整的域,只需更改前两行:

   var validDomain = "something.com";
   var pattern = new RegExp("^[A-Za-z0-9_\-\.]+@" + validDomain + "$");
var reg = /^w+@something.com$/;
reg.test("adarsh.k@something.com")
> true
reg.test("adarsh.k@gmail.com")
> false

编辑:似乎我误解了你的问题...正确的正则表达式是:

var validDomain = "something";
var pattern = new RegExp("([A-Za-z0-9_\-\.])"+"@" + validDomain + "(.[a-zA-Z]{2,4})$");

最新更新