isuri

2.0.3 • Public • Published

isUri

npm Downloads Node.js Version Build Status Coverage Status bitHound Dependencies bitHound Dev Dependencies bitHound Code

Javascript implementation for truly checking if the provided input is a valid URI, Based on RFC 3986.

Install

NPM

$ npm install isuri

Node.js

var isUri = require('isuri');
 
isUri.isValid('http://example.com'); // returns true
isUri.isValid('Bananas in pajamas are coming down the stairs'); // returns false

isUri.isValid(value)

Checks if the value provided is a valid URI and returns true if so, returns false otherwise.

isUri.uriRegex()

Returns the regular expression used for validating URIs.

isUri.createUriRegex([options])

Creates a new regular expression for validating URIs which accepts the following parameters:

  • options - optional settings:
    • scheme - Specifies one or more acceptable Schemes, should only include the scheme name. Can be an Array or String (strings are automatically escaped for use in a Regular Expression).
var isUri = require('isuri');
var httpRegex = isUri.createUriRegex({ scheme: [ /https?/ ] });
 
httpRegex.test('http://example.com'); // returns true
httpRegex.test('https://example.com'); // returns true
httpRegex.test('ftp://example.com'); // returns false
httpRegex.test('Bananas in pajamas are coming down the stairs'); // returns false

Benchmarks

> Benchmarking complex-ipv4.js
 
  Testing URI "http://asdf:qw%20er@127.0.0.1:8000?asdf=12345&asda=fc%2F#bacon"
 
  1 test completed.
 
  isUri#test(uri) x 6,229,053 ops/sec ±0.83% (183 runs sampled)
 
> Benchmarking complex-ipv6.js
 
  Testing URI "http://asdf:qw%20er@[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:8000?asdf=12345&asda=fc%2F#bacon"
 
  1 test completed.
 
  isUri#test(uri) x 5,197,138 ops/sec ±0.74% (182 runs sampled)
 
> Benchmarking complex-ipvFuture.js
 
  Testing URI "http://asdf:qw%20er@[v1.09azAZ-._~!$&'()*+,;=:]:8000?asdf=12345&asda=fc%2F#bacon"
 
  1 test completed.
 
  isUri#test(uri) x 4,418,023 ops/sec ±0.63% (183 runs sampled)
 
> Benchmarking complex-uri.js
 
  Testing URI "http://asdf:qw%20er@localhost:8000?asdf=12345&asda=fc%2F#bacon"
 
  1 test completed.
 
  isUri#test(uri) x 6,113,035 ops/sec ±0.68% (184 runs sampled)
 
> Benchmarking simple-uri.js
 
  Testing URI "mailto:John.Doe@example.com"
 
  1 test completed.
 
  isUri#test(uri) x 10,444,735 ops/sec ±0.73% (183 runs sampled)

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i isuri

Weekly Downloads

601

Version

2.0.3

License

MIT

Last publish

Collaborators

  • davidtpate