/* * No Spam (1.3) * by Mike Branski (www.leftrightdesigns.com) * mikebranski@gmail.com * * Copyright (c) 2008 Mike Branski (www.leftrightdesigns.com) * Licensed under GPL (www.leftrightdesigns.com/library/jquery/nospam/gpl.txt) * * NOTE: This script requires jQuery to work. Download jQuery at www.jquery.com * * Thanks to Bill on the jQuery mailing list for the double slash idea! * * CHANGELOG: * v 1.3 - Added support for e-mail addresses with multiple dots (.) both before and after the at (@) sign * v 1.2.1 - Included GPL license * v 1.2 - Finalized name as No Spam (was Protect Email) * v 1.1 - Changed switch() to if() statement * v 1.0 - Initial release * */ jQuery.fn.nospam = function(settings) { settings = jQuery.extend({ replaceText: false, // optional, accepts true or false filterLevel: 'normal' // optional, accepts 'low' or 'normal' }, settings); return this.each(function(){ e = null; if(settings.filterLevel == 'low') { // Can be a switch() if more levels added if($(this).is('a[rel]')) { e = $(this).attr('rel').replace('//', '@').replace(/\//g, '.'); } else { e = $(this).text().replace('//', '@').replace(/\//g, '.'); } } else { // 'normal' if($(this).is('a[rel]')) { e = $(this).attr('rel').split('').reverse().join('').replace('//', '@').replace(/\//g, '.'); } else { e = $(this).text().split('').reverse().join('').replace('//', '@').replace(/\//g, '.'); } } if(e) { if($(this).is('a[rel]')) { $(this).attr('href', 'mailto:' + e); if(settings.replaceText) { $(this).text(e); } } else { $(this).text(e); } } }); };