Как стать автором
Поиск
Написать публикацию
Обновить

JS класс для формирования антиспам email ссылки

Очень надоели спам письма на ваш почтовый ящик?


Давно хотел написать JS класс для формирования email ссылок для защиты от всякого рода спам ботов, которые собирают email адреса с сайтов. Посидев и почитав что пишут люди создал такой простенький класс который формирует mailto ссылку вида:
<a href="mailto:test@testmail.ru" title="Какая-то подсказка">test@test.mail.ru</a>

Вот непосредственно сам код класса:
var email = {login:'', server:'', title:'', errMess: 'Ошибка: не указан логин или сервер',
    get url() {
        return 'mailto:'+this.mailAdress; 
    },
    get mailAdress() {
        return this.login + '@' + this.server
    },
    get emailLink() {
        if (this.login=='' || this.server=='') {
            return this.errMess
        } else {
            var titleStr = '';
            if (this.title!='') {
                titleStr =' title="'+this.title+'"'; 
            }
            return '<a'+titleStr+' href="'+this.url+'">'+this.mailAdress+'</a>'
        }
    },
    get print(){
        document.write(this.emailLink);
    }
}

Для его использования необходимо подключить данный класс в ваш JS код и там где нужно вывести защищенную от спам ботов ссылку ввести следующее:
<script type="text/javascript">
    email.title= "Отправить сообщение на Email"; 
    email.errMess= "Ошибка!!!"; 
    email.login = 'test'; 
    email.server = 'testmail.ru';
    email.print;
</script>

, где errMess это то, что будет выводиться если мы забыли указать логин и email (строчки с errMess и title необязательны, они заданы по умолчанию)

На выходе получаем следующий HTML код:
<a href="mailto:office@fotobik.ru" title="Отправить сообщение на Email">office@fotobik.ru</a>

Плюсы

  • Простота
  • Скорость формирования
  • Малый объем кода

Минусы данного метода формирования ссылки:

  • Неработает с отключенным JavsScript


P.S. Данный класс можно расширять такими функциями как допустим проверка правильности email'a, использовать его совместно с jQuery, но это уже другая история…
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.