Ответ 1
Вы можете заменить все, вплоть до символа @
, чтобы получить домен. В Javascript:
var email = '[email protected]';
var domain = email.replace(/.*@/, "");
alert(domain);
От адреса электронной почты, такого как [email protected]
, я хочу получить имя домена gmail.com
.
Я хочу использовать этот шаблон в текстовом поле в Javascript.
Pease предлагает мне оптимизированный и быстрый шаблон preg для вышеуказанного требования...
Вы можете заменить все, вплоть до символа @
, чтобы получить домен. В Javascript:
var email = '[email protected]';
var domain = email.replace(/.*@/, "");
alert(domain);
Почему бы просто не сделать это.
var email = "[email protected]", i = email.indexOf("@");
if (i != -1) {
email = email.substring(i);
}
Regex действительно не требуется, вы также можете пойти email = email.split("@")[1];
Использование простого разделения строк не будет работать с такими адресами, как '[email protected]'@example.com
, который является допустимым адресом (технически). Я считаю, что расщепление на @
и принятие последнего элемента должно быть прекрасным, потому что в домене не могут появляться символы @
.
Или, поскольку вы запросили регулярное выражение:
[^@]+$
У меня только есть необходимость реализовать это и придумал решение, которое объединяет большинство уже упомянутых методов:
var email = "[email protected]@gmail.com";
var email_string_array = email.split("@");
var domain_string_location = email_string_array.length -1;
var final_domain = email_string_array[domain_string_location];
Итак, если адрес электронной почты имеет несколько символов @, вам просто нужно разделить строку электронной почты на "@" и рассчитать, сколько элементов в новом созданном массиве затем вычитайте 1 из него, и вы можете взять правый элемент из массива с этим номером.
Вот jsfiddle: http://jsfiddle.net/47yqn/
Он показал 100% успех для меня!
Я бы попробовал
\b.*@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})\b
Или, возможно, настройте его на небольшую замену \b
на ^
и $
.
При этом вы можете сопоставить любой домен с A-Z, a-z и 0-9 символами.
Вы можете сделать это
var extract_company_name = function(email){
var temp = email.replace(/.*@/, '').split('.');
return temp[temp.length - 2];
}
extract_company_name(email)
это приведет к извлечению домена из любого почтового ящика.
Вы можете сделать это, чтобы получить доменное имя с URL-адреса, электронной почты, веб-сайта с запуском http, только доменное имя
var str=inputAddress;
var patt1 = "(http://|https://|ftp://|www.|[a-z0-9._%+-][email protected])([^/\r\n]+)(/[^\r\n]*)?";
var result = str.match(patt1);
var domain=result===null?str:result[2];
return domain.toString().startsWith("www.")?domain.toString().slice(4):domain;
var email = '[email protected]';
var domain = email.replace(/.*@/, "").split('.')[0];
console.log(domain); // gmail