Regular expression for matching IP addresses in CIDR notation
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.editorconfig
.eslintrc
.gitignore
.travis.yml
LICENSE
Makefile
README.md
index.js
package.json
test.js

README.md

cidr-regex

Regular expression for matching IP addresses in CIDR notation

Install

$ npm install --save cidr-regex

Usage

const cidrRegex = require('cidr-regex');

// Contains a CIDR IP address?
cidrRegex().test('foo 192.168.0.1/24');
//=> true

// Is a CIDR IP address?
cidrRegex({exact: true}).test('foo 192.168.0.1/24');
//=> false

cidrRegex.v6({exact: true}).test('1:2:3:4:5:6:7:8/64');
//=> true

'foo 192.168.0.1/24 bar 1:2:3:4:5:6:7:8/64 baz'.match(cidrRegex());
//=> ['192.168.0.1/24', '1:2:3:4:5:6:7:8/64']

API

cidrRegex([options])

Returns a regex for matching both IPv4 and IPv6 CIDR IP addresses.

cidrRegex.v4([options])

Returns a regex for matching IPv4 CIDR IP addresses.

cidrRegex.v6([options])

Returns a regex for matching IPv6 CIDR IP addresses.

options.exact

Type: boolean
Default: false (Matches any CIDR IP address in a string)

Only match an exact string. Useful with RegExp#test() to check if a string is a CIDR IP address.

Related

  • is-cidr - Check if a string is an IP address in CIDR notation
  • is-ip - Check if a string is an IP address
  • ip-regex - Regular expression for matching IP addresses

License

© silverwind, distributed under BSD licence

Based on previous work by Felipe Apostol