Самый эффективный способ проверить доменное имя в поле электронной почты в jquery? - PullRequest
0 голосов
/ 07 декабря 2011

У меня должна быть только одна проверка в поле электронной почты, т.е. доменное имя говорит "что-то".

Пример:

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

У меня есть адрес электронной почты, введенный в текстовое поле, как указано ниже. Можете ли вы дать мне знать регулярное выражение, чтобы иметь эту базовую проверку?

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

Я пытаюсь использовать регулярное выражение, приведенное ниже для шаблона.

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

Не могли бы вы помочь?

Спасибо, Adarsh ​​

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

Это должно сработать:

   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 + "$");
0 голосов
/ 07 декабря 2011
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})$");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...