is-domain-name
Version:
Validate Domain Names as outlined by RFC 2181
61 lines (39 loc) • 1.45 kB
Markdown
> Validate Domain Names as outlined by RFC 2181
```sh
npm install is-domain-name
```
Domain names are composed of labels interleaved with a separator (`.`).
Domain as allowed a total length of 255 chars including separators.
Labels should be between 1 and 63 octets.
Labels allows domains to form a hierarchy, with the right most label acting
as the root. The leftmost label is often called the TLD (Top-Level Domain),
the 2nd leftmost informally called the domain and any label to the right of
those called subdomains.
A common domain with only a single label is `localhost`.
This module checks the following:
* The domain is no longer than 255 chars
* The domain is at least 2 chars. Even though `a` is technically allowed, this module does not allow it
* Labels are between 1 and 63 chars
* Labels start and end with alpha-numeric chars, allowing dashes in between
* An optional root dot can be allowed with a flag, eg. `example.com.`
```js
const assert = require('assert')
const isDomainName = require('is-domain-name')
assert.ok(isDomainName('localhost'))
assert.notOk(isDomainName('-.-'))
```
Type: `String`
Type: `Boolean`<br>
Default: `false`
Whether or not to validate for a trailing dot, signifying the root
* [`is-http-url`](http://github.com/emilbayes/is-http-url)
[](LICENSE.md)