anchorme.js

Tiny, fast, efficient, feature rich Javascript library to detect links / URLs / Emails in text and convert them to clickable HTML anchor links


Keywords
email-validation, text-to-url, url-detection, url-validation, urls
License
MIT
Install
bower install anchorme.js

Documentation

Anchorme.js

Documentation Getting Started, Documentations, Demos and more

npm npm GitHub release license

Tiny, fast, efficient, feature rich Javascript library to detect links / URLs / Emails in text and convert them to clickable HTML anchor links.

Main features

  • Sensitivity:
    • It's Highly sensitive with the least false positives.
    • It validates URLs and Emails against full IANA list.
    • Validates port numbers (if present).
    • Validates IP octet numbers (if present).
    • Works on non latin alphabets URLs.
  • Robustness:
    • Skips HTML, so it doesn't break your HTML if it had a URL as an attribute for an element, or a link that is already inside an anchor.
    • Links with or without protocols.
    • Works with IPs, FTPs, Emails and files.
    • Can detect parenthesis and quotation marks as part of the URL or as a surrounding to the URL.
    • Easily extensible with your own code (e.g. for hashtags and mentions).
  • Fast: Performance is one of the main things that were kept in mind while writing this library.
    • It's incredibly fast since 99% of all the heavy lifting is based on a single optimized regular expression.
    • Processing H.G. Wells novel, the time machine, took only 2.2 milliseconds on my machine.
    • This library is also a lot faster than other alternatives (linkify & autolinker). Link to benchmark
  • Light Weight: Although it's a feature rich library with a full IANA list included, it's only 9KB when minified and GZipped.