isDomainName

Test if a value is a domain name.

Usage

var isDomainName = require( '@stdlib/assert/is-domain-name' ); 

isDomainName( value )

Tests if a value is a domain name.

var bool = isDomainName( 'example.com' ); // returns true bool = isDomainName( 'foo@bar.com' ); // returns false 

Notes

  • Validation adheres to RFC 2181, which defines the syntax for domain names and stipulates that domain names must be 255 characters or less.

Examples

var isDomainName = require( '@stdlib/assert/is-domain-name' ); var bool = isDomainName( 'www.example.com' ); // returns true bool = isDomainName( 'foo@bar.com' ); // returns false bool = isDomainName( 'beep boop' ); // returns false bool = isDomainName( null ); // returns false bool = isDomainName( 5.0 ); // returns false 

CLI

Usage

Usage: is-domain-name [options] [<string>] Options: -h, --help Print this message. -V, --version Print the package version. --split sep Delimiter for stdin data. Default: '/\\r?\\n/'. 

Notes

  • If the split separator is a regular expression, ensure that the split option is either properly escaped or enclosed in quotes.

    # Not escaped... $ echo -n $'foo@bar.com\nbaz.com' | is-domain-name --split /\r?\n/ # Escaped... $ echo -n $'foo@bar.com\nbaz.com' | is-domain-name --split /\\r?\\n/ 
  • The implementation ignores trailing delimiters.

Examples

$ is-domain-name example.com true 

To use as a standard stream,

$ echo -n 'example.com' | is-domain-name true 

By default, when used as a standard stream, the implementation assumes newline-delimited data. To specify an alternative delimiter, set the split option.

$ echo -n 'beep boop\tbaz.com' | is-domain-name --split '\t' false true