ip-regex-generator
TypeScript icon, indicating that this package has built-in type declarations

2.0.5 • Public • Published

ip-regex-generator

Generate valid subnet ip regex string by ip in netmask.

Install

$ npm install ip-regex-generator

Usage

const { getSubnetMaskRegex } = require('ip-regex-generator');

getSubnetMaskRegex('192.168.0.1', 24);
getSubnetMaskRegex('192.168.0.1', 24);
//=> ^192\.168\.0\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

getSubnetMaskRegex('192.168.0.1', 26);
//=> ^192\.168\.1\.([0]?[0]?[0-9]|[0]?[1-5][0-9]|[0]?[1-6][0-3])$

getSubnetMaskRegex('192.168.0.1', 8);
//=> ^192\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

getSubnetMaskRegex('192.168.0', 8); // incomplete
getSubnetMaskRegex('192.168.0.*', 8); // not support
//=> null

Function

getIPArray(string ip)

Get IP Array from IP string.
If ip is invalid return null.

IPtoArray('192.168.0.1');
//=> [192, 168, 0, 1]

IPtoArray('192.168.');
//=> null

getSubnetMaskString(number netmask)

*netmask value allow 0-32
Get IP type netmask string from netmask number
If netmask invalid return null.

getSubnetMaskString(24);
//=> 255.255.255.0

getSubnetMaskString(8);
//=> 255.0.0.0

getSubnetMaskString(33);
//=> null

getSubnetNumber(string ip)

Get subnetmask number by network.
If network not have netmask number or number is invalid return null.

getSubnetNumber('192.168.0.1/24');
//=> 24

getSubnetNumber('192.168.0.1');
//=> 32

getSubnetNumber('192.168.0.1/33');
//=> null

IPinSubnet(string targetIP, string ipWithMask)

Check targetIP is in ipWithMask subnet

IPinSubnet('192.168.1.254', '192.168.0.0/24')
//=> true
IPinSubnet('192.168.3.1', '192.168.0.0/24')
//=> false
IPinSubnet('192.168.3.1', '192.168.0.0/16')
//=> true
IPinSubnet('192.168.3', '192.168.0.0/24')
//=> null
IPinSubnet('192.168.3.1', '192.168.0.0/33')
//=> null

getIPPrivacy(string ip)

Get IP Privacy.

getIPPrivacy('192.168.0.1')
//=> Private IP

getIPPrivacy('127.0.0.1')
//=> localhost

getIPPrivacy('8.8.8.8')
//=> Public IP

getIPPrivacy('192.168.0')
//=> null

getIPClass(string ip)

Get subnet class(A, B, C, D, E) by ip.
If ip is invalid return null.

getIPClass('8.8.8.8');
//=> A

getIPClass('192.168.0.1');
//=> C

getIPClass('192.168')
getIPClass('300.300.0.1')
//=> null

getIPInfo(string ip, number netmask)

*netmask is optional
Get IP Information.

getIPInfo('192.168.0.1', 24)
//=> IP Address: 192.168.0.1
//   IP Class: C
//   Netmask: 255.255.255.0
//   Subnet Type: Private IP

getIPInfo('192.168.0.1')
//=> IP Address: 192.168.0.1
//   IP Class: C
//   Netmask: 255.255.255.255
//   Subnet Type: Private IP

getIPInfo('192.168.0', 24)
// IP Address: invalid
// Netmask: 255.255.255.0
// IP Class: Unknown
// Subnet Type: Unknown

License

MIT © Rong Wu

Package Sidebar

Install

npm i ip-regex-generator

Weekly Downloads

6

Version

2.0.5

License

MIT

Unpacked Size

22 kB

Total Files

8

Last publish

Collaborators

  • fish0373