0.1.6 • Published 3 years ago

is-valid-domain v0.1.6

Weekly downloads
84,252
License
MIT
Repository
github
Last release
3 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-1935metavanadiscord-mytoolstalken-web3-tokentempo-email-parserwhois-raw-to-jsonvue-lib-test1web3-toeknweb3-tokenweb3toknstorm-zone-update@commonshost/cli@commonshost/core@rootplace/websites-enginejssb-refinstall-isjustmestrapi-plugin-uploadstrapi-upload-pluginssb-refuserscript-metadata@authereum/utils@adobe/ccweb-add-on-scripts@adobe/ccweb-add-on-ssl@adobe/ccweb-add-on-devcert@akemona-org/strapi-plugin-upload@cardstack/hub@bygd/gd-sdk-pes@brimble/cli@cdktf/commons@childrentime/devcert@adguard/rules-editor@aacassandra/ivue-cli@aacassandra/wvue-cli@jupiterone/graph-whois@dcentralab/web3-wallet-connector@dcentralab/jwtzenbox-utilwb3-tokn@edgarai/strapi-plugin-upload@flowgate/sign-in-with-ethereum@fonos/domains@fonoster/domains@http2/api@huz-com/scalar@game8.io/plugin@game8.io/sdk@khoazero123/strapi-plugin-upload@localhapp/server@luantm/strapi-plugin-upload@lazy-ipfs/parse-ipfs-path@list-kr/namulink@mr.xcray/thycotic-secretserver-client@nialloc9/vcheck@eslym/tunnel@mensludos/web3-token@relaycorp/relaynet-core@stack-forge/create-appmy-test1-objektlistnav-utilsnav-express-appnportsapienteomnisproxy-cyclerremakes3scannernode-parse-urlnotehostnoodlesoup-secret-servernow-namequosnumquampupils-plugin-uploadrainbow-pagespskophash-honeypotlenzloop-hapi-pluginsleadconduit-customleadconduit-default@webitel/ui-sdk@x-team/strapi-plugin-upload@u22n/mailtools@toanz/strapi-plugin-upload@yued/domain-ping@steamship/clialfred-workflow-registrar-searchalexa-rank-nodejsastro-parent-componentsastro-parent-portal-testastrosafe-parent-portal-componentscertsslcdn-cache-checkcloudflare-worker-webpack-plugin
0.1.6

3 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.20

4 years ago

0.0.18

4 years ago

0.0.19

4 years ago

0.0.17

5 years ago

0.0.16

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.7

6 years ago

0.0.6

7 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

9 years ago

0.0.1

10 years ago