Показать сообщение отдельно
  #19 (permalink)  
Старый 03.04.2017, 22:08
Профессор
Отправить личное сообщение для psiklop Посмотреть профиль Найти все сообщения от psiklop
 
Регистрация: 04.03.2015
Сообщений: 163

еще похожая функция для email, но я ее использую только как рекомендацию пользователю, дабы не было ошибок

function fixemail(email) {
var spisokmail = ["mail.ru","yandex.ru","gmail.com","rambler.ru","yahoo.com","qip.ru","outlook.com","hotmail.com","list.ru","inbox.ru","bk.ru","ya.ru","fastmail.com","icloud.com"];
var max = 0;
var fixemail, c, temp;
var domen = email.substr(email.indexOf("@")+1).toLowerCase();
if (spisokmail.indexOf(domen) == -1) {
for (var i = 0; i < spisokmail.length; i++) {
c = 0;
temp = spisokmail[i];
for (var i2 = 0; i2 < domen.length; i2++) {if (domen[i2] == ".") continue; if (temp.indexOf(domen[i2]) != -1) c++;}
if (((spisokmail[i].length-4)<c)&&(Math.abs(domen.length - spisokmail[i].length) < 2)) {
if ((c > max) || ((fixemail) && (c == max) && (fixemail.length > temp.length))) {fixemail = spisokmail[i]; max = c;}}}
if (fixemail) {return email.substr(0, email.indexOf("@")+1)+fixemail;}}
return email;}

alert(fixemail("ivan@mail.ru"));
alert(fixemail("ivan@mail.com"));
alert(fixemail("ivan@jmail.com"));
alert(fixemail("ivan@icloud.kom"));
alert(fixemail("ivan@yndeks.ru"));
Ответить с цитированием