A tiny (171B) utility to check if a hostname is local
Compares an incoming URL hostname segment against a manually constructed RegExp pattern.
The pattern supports IPV4 and IPV6 addresses and is derived from RFC1918 – see Wikipedia explainer.
This module supports browser and Node.js environments.
It is made available in three formats:
dist/localhost.jsdist/localhost.mjsdist/localhost.min.js$ npm install --save local-hostname
import localhost from 'local-hostname';
localhost('localhost'); //=> true
localhost('127.0.254.1'); //=> true
localhost('hello.localhost'); //=> true
localhost('192.168.0.1'); //=> true
localhost('localhost.123'); //=> false
localhost('192.167.100.300'); //=> false
localhost('168.254.1.255'); //=> false
localhost('example.com'); //=> false
Returns: Boolean
Type: String
The hostname segment of a valid URL.
Important: The
localhostfunction does not parse or format the URL for you!
PRs are welcome, of course! However, please open an issue first to discuss the planned changes :)
I am by no stretch of the imagination a networking expert – I most likely missed cases and/or ranges.
To change the RegExp pattern, modify or add the segment(s) inside src/build.js, run it with node, and then paste the result into the src/index.js file.
MIT © Luke Edwards