0.1.6 • Published 2 years ago

is-valid-domain v0.1.6

Weekly downloads
84,252
License
MIT
Repository
github
Last release
2 years ago

is-valid-domain

Validate domain name in JavaScript

Demo

https://lab.miguelmota.com/is-valid-domain

Install

npm install is-valid-domain

Usage

const isValidDomain = require('is-valid-domain')

isValidDomain('example.com') // true
isValidDomain('foo.example.com') // true
isValidDomain('bar.foo.example.com') // true
isValidDomain('exa-mple.co.uk') // true
isValidDomain('xn--80ak6aa92e.com') // true
isValidDomain('_dnslink.ipfs.io') // true
isValidDomain('exa_mple.com') // false
isValidDomain('-example.co.uk') // false
isValidDomain('example') // false
isValidDomain('ex*mple.com') // false
isValidDomain('*.example.com') // false
isValidDomain('*.com') // false
isValidDomain(3434) // false

isValidDomain('foo.example.com', {subdomain: true}) // true
isValidDomain('foo.example.com', {subdomain: false}) // false
isValidDomain('*.example.com', {wildcard: false}) // false
isValidDomain('*.example.com', {wildcard: true}) // true
isValidDomain('*.example.com', {subdomain: false, wildcard: true}) // false
isValidDomain('はじめよう.みんな') // false
isValidDomain('はじめよう.みんな', {allowUnicode: true}) // true
isValidDomain('ai.') // false
isValidDomain('ai.', {topLevel: true}) // true

view more examples

Test

npm test

Contributing

Adding new domains:

  • Add second level domain to data/second_level_domains.csv
  • Run npm run generate to generate JSON map file
  • Run npm test

FAQ

  • Q: Why is trailing dot . in domain names verified as true?

    • A: Fully qualified domain names allow the trailing dot which represents the root zone. More info here and here.

License

MIT

britive-cli-test1beeceptor-tunnelghatad2p@infinitebrahmanuniverse/nolb-is-v@kns/js-sdkgod-tier-metadata@everything-registry/sub-chunk-1935loop-hapi-pluginsjssb-refjustmelenzleadconduit-defaultleadconduit-customhash-honeypotinstall-ismetavananav-utilsnav-express-appmy-test1-objektlistnode-parse-urlnotehostnow-namenoodlesoup-secret-server@steamship/cli@toanz/strapi-plugin-upload@u22n/mailtools@rootplace/websites-engine@relaycorp/relaynet-core@stack-forge/create-appwhois-raw-to-jsonzenbox-utilweb3-tokenvue-lib-test1proxy-cyclerpupils-plugin-uploadpskopstrapi-upload-pluginstrapi-plugin-uploadtalken-web3-tokentempo-email-parserquosnumquamrainbow-pagesremakesapienteomniss3scannerstorm-zone-updatessb-refuserscript-metadata@adobe/ccweb-add-on-ssl@adobe/ccweb-add-on-devcert@adobe/ccweb-add-on-scripts@adguard/rules-editor@akemona-org/strapi-plugin-upload@fonos/domains@fonoster/domains@edgarai/strapi-plugin-upload@eslym/tunnel@http2/api@huz-com/scalar@localhapp/server@luantm/strapi-plugin-upload@lazy-ipfs/parse-ipfs-path@mensludos/web3-token@dcentralab/web3-wallet-connector@dcentralab/jwt@cdktf/commons@childrentime/devcert@brimble/cli@bygd/gd-sdk-pes@commonshost/cli@commonshost/core@cardstack/hub@aacassandra/wvue-cli@aacassandra/ivue-cli@abtnode/router-provider@authereum/utils@mr.xcray/thycotic-secretserver-client@nialloc9/vcheck@flowgate/sign-in-with-ethereum@khoazero123/strapi-plugin-upload@jupiterone/graph-whois@yued/domain-pingalfred-workflow-registrar-searchalexa-rank-nodejs@webitel/ui-sdk@x-team/strapi-plugin-uploadavailable-domainsbritive-clicdn-cache-checkcertsslbeataeharumblondie-platform-webcloudflare-worker-webpack-plugincoscmdcustom-plugin-uploaddatoit-plugin-uploaddevcertdiscord-mytoolsdistributed-dig
0.1.6

2 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago

0.0.20

3 years ago

0.0.18

3 years ago

0.0.19

3 years ago

0.0.17

4 years ago

0.0.16

4 years ago

0.0.15

4 years ago

0.0.14

4 years ago

0.0.13

4 years ago

0.0.12

4 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.7

5 years ago

0.0.6

6 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

8 years ago

0.0.1

9 years ago