JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 32408
  • Score
    100M100P100Q147312F
  • License MIT

Check if an IPv4 or IPv6 address is contained in the given CIDR subnet

Package Exports

  • is-in-subnet

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 (is-in-subnet) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

is-in-subnet npm dependencies license node

Check if an IPv4 or IPv6 address is contained in the given CIDR subnet.

  • Small
  • Fast
  • Simple syntax
  • Full test coverage
  • TypeScript-friendly
  • Zero dependencies
  • 🆕 Browser-friendly

See the 📖 Reference page for complete documentation.

Installation

With Node.js

npm install is-in-subnet

In a browser

This module is compatible with Browserify and other bundling tools. If you prefer to load it as a single file from a CDN:

The module is loaded as a global named isInSubnet.

Basic Usage

Node.js

const { isInSubnet } = require('is-in-subnet');

console.log(isInSubnet('10.5.0.1', '10.4.5.0/16')); // false
console.log(isInSubnet('10.5.0.1', '10.4.5.0/15')); // true

console.log(isInSubnet('2001:db8:f53a::1', '2001:db8:f53b::1:1/48')); // false
console.log(isInSubnet('2001:db8:f53a::1', '2001:db8:f531::1:1/44')); // true

Browser

console.log(isInSubnet.isInSubnet('10.5.0.1', '10.4.5.0/16'));
// if you don’t like that syntax, you may use this instead:
console.log(isInSubnet.check('10.5.0.1', '10.4.5.0/16'));

More ways to use it

Test multiple subnets at once

  • You can pass an array instead of a single subnet.
const inAnySubnet = isInSubnet('10.5.0.1', ['10.4.5.0/16', '192.168.1.0/24']);

Amortise the parsing cost using a functional version

  • createChecker(subnetOrSubnets) returns a function used to check an address
const checker = createChecker(['10.4.5.0/16', '192.168.1.0/24']);
console.log(checker('10.5.0.1')); // true

Test for special types of addresses

  • isPrivate(address) — Private addresses (like 192.168.0.0)
  • isLocalhost(address) — Localhost addresses (like ::1)

And more. See the documentation.

Check if an address is valid

  • isIPv4(address), isIPv6(address), isIP(address) — works just like the similarly-named functions in Node’s net module.