This jQuery plugin turns an obfuscated e-mail address into a human-readable one. To use this plugin, include jquery.nospam.js
and call the nospam() method. No Spam automatically detects if your matched element is a link. If so, it checks the rel attributes for the obfuscated e-mail addresses. For all other elements, it uses the text between the matched tags.
Now supports multiple dots (.) both before and after the at (@) sign! (since 1.3)
$('a.email').nospam({
replaceText: true, // BOOLEAN, optional default false. If set to true, replaces matched elements' text with the e-mail address
filterLevel: 'normal' // STRING, optional accepts 'low' or 'normal', default 'normal'.
// low: email//domain/tld
// normal: dlt/niamod//liame (email//domain/tld reversed)
});
<a class="email" href="contact.php" rel="moc/elpmaxe//oof">Contact us</a>
<script>
$('.email').nospam({
replaceText: true
});
</script>
If JavaScript is enabled, the above code will render:
However, if JavaScript is not enabled, the user will simply see a link to contact.php with the text 'Contact Us', providing a nice fallback:
<a class="email" href="contact.php" rel="foo//example/com">Contact us</a>
<script>
$('.email').nospam({
filterLevel: 'low'
});
</script>
If JavaScript is enabled, the above code will render:
If JavaScript is not enabled, the user will simply see a link to contact.php like in the previous example:
<a class="email" href="contact.php" rel="moc/elpmaxe//oof">Contact us</a>
<script>
$('.email').nospam({
replaceText: true
});
</script>
If JavaScript is enabled, the above code will render:
However, if JavaScript is not enabled, the user will simply see a link to contact.php with the text 'Contact Us', providing a nice fallback:
You can also use No Spam with non-link elements. replaceText
will also be true
in this case.
<span class="email">foo//example/com</span>
<script>
$('.email').nospam({
filterLevel: 'low'
});
</script>
With JavaScript:
Without JavaScript:
foo//example/com
To make things easier, I also created a PHP function called nospam() that formats your regular e-mail addresses dynamically and outputs them in a No Spam-ready format which I've made available for download.
- 1.4.0 - Changed license to LGPLv3
- 1.3.2 - Wrap plugin in a closure for better compatibility with other libraries, clean up comments and examples, create README
- 1.3.1 - Updated links in comments, removed GPL license file, tested against jQuery 1.6.2
- 1.3 - Added support for e-mail addresses with multiple dots (.) both before and after the at (@) sign
- 1.2.1 - Included GPL license
- 1.2 - Finalized name as No Spam (was Protect Email)
- 1.1 - Changed switch() to if() statement
- 1.0 - Initial release