mirror of
https://github.com/nodejs/node.git
synced 2025-05-12 18:40:17 +00:00

PR-URL: https://github.com/nodejs/node/pull/35474 Reviewed-By: Ruy Adorno <ruyadorno@github.com> Reviewed-By: Ujjwal Sharma <ryzokuken@disroot.org> Reviewed-By: Ben Coe <bencoe@gmail.com> Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Shelley Vohr <codebytere@gmail.com> Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
71 lines
1.5 KiB
TypeScript
71 lines
1.5 KiB
TypeScript
declare namespace ip {
|
|
interface Options {
|
|
/**
|
|
Only match an exact string. Useful with `RegExp#test()` to check if a string is an IP address. *(`false` matches any IP address in a string)*
|
|
|
|
@default false
|
|
*/
|
|
readonly exact?: boolean;
|
|
|
|
/**
|
|
Include boundaries in the regex. When `true`, `192.168.0.2000000000` will report as an invalid IPv4 address. If this option is not set, the mentioned IPv4 address would report as valid (ignoring the trailing zeros).
|
|
|
|
@default false
|
|
*/
|
|
readonly includeBoundaries?: boolean;
|
|
}
|
|
}
|
|
|
|
declare const ip: {
|
|
/**
|
|
Regular expression for matching IP addresses.
|
|
|
|
@returns A regex for matching both IPv4 and IPv6.
|
|
|
|
@example
|
|
```
|
|
import ipRegex = require('ip-regex');
|
|
|
|
// Contains an IP address?
|
|
ipRegex().test('unicorn 192.168.0.1');
|
|
//=> true
|
|
|
|
// Is an IP address?
|
|
ipRegex({exact: true}).test('unicorn 192.168.0.1');
|
|
//=> false
|
|
|
|
'unicorn 192.168.0.1 cake 1:2:3:4:5:6:7:8 rainbow'.match(ipRegex());
|
|
//=> ['192.168.0.1', '1:2:3:4:5:6:7:8']
|
|
|
|
// Contains an IP address?
|
|
ipRegex({includeBoundaries: true}).test('192.168.0.2000000000');
|
|
//=> false
|
|
|
|
// Matches an IP address?
|
|
'192.168.0.2000000000'.match(ipRegex({includeBoundaries: true}));
|
|
//=> null
|
|
```
|
|
*/
|
|
(options?: ip.Options): RegExp;
|
|
|
|
/**
|
|
@returns A regex for matching IPv4.
|
|
*/
|
|
v4(options?: ip.Options): RegExp;
|
|
|
|
/**
|
|
@returns A regex for matching IPv6.
|
|
|
|
@example
|
|
```
|
|
import ipRegex = require('ip-regex');
|
|
|
|
ipRegex.v6({exact: true}).test('1:2:3:4:5:6:7:8');
|
|
//=> true
|
|
```
|
|
*/
|
|
v6(options?: ip.Options): RegExp;
|
|
};
|
|
|
|
export = ip;
|