Package Exports
- my-name-is-url
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (my-name-is-url) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
my-name-is-url

Intelligently recognises many different url formats in a string. For the browser and node. Here, have a play.
About
my-name-is-url
was created because I couldn't find a parser with a high enough success rate. The url spec is so vague that many strings could be a url, therefore matching the spec directly results in a lot of false positives. Most parsers get around this by requiring a url to contain a scheme to be matched as a url.
The regular expression used in my-name-is-url
tries to match patterns likely to represent a url in a sentence rather than matching the actual url spec. This results in a much wider scope of matchable urls than most other parsers without introducing loads of false positives.
❗️Important note
If you're trying to parse a url into sections (scheme,host) or check a url is valid this module isn't for you. This module is intended to find urls in a string.
Install
npm install --save my-name-is-url
or
jspm install npm:my-name-is-url
Usage
Importing
CommonJS
var Urls = require('my-name-is-url');
ES6
import Urls from 'my-name-is-url';
Regex
If you just wanna do your own thing the regex used internally is helpfully exposed
const UrlRegex = Urls.regex;
Get Urls
The get()
method returns an array of urls in a string
const text = 'Check out these sites: foobar.com,//foo.com,http://bar.com.';
Urls(text).get();
// [ 'foobar.com', '//foo.com', 'http://bar.com' ]
Filter Urls
The filter()
method runs a filter on each url in a string
const text = 'My GitHub profile: https://github.com/lukechilds';
Urls(text).filter(url => `<a href="${url}">${url}</a>`);
// 'My GitHub profile: <a href="https://github.com/lukechilds">https://github.com/lukechilds</a>'
👍 Pro tip
You can get a parser instance by calling
Urls()
ornew Urls
, whichever you prefer.
License
MIT © Luke Childs