is-valid-domain

Validate domain name

MIT 26 个版本
安装
npm install is-valid-domain
yarn add is-valid-domain
pnpm add is-valid-domain
bun add is-valid-domain
README

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

版本列表
0.1.6 2022-02-22
0.1.5 2021-11-30
0.1.4 2021-11-07
0.1.3 2021-11-07
0.1.2 2021-07-15
0.1.1 2021-07-14
0.1.0 2021-07-13
0.0.20 2021-06-08
0.0.19 2021-04-08
0.0.18 2021-04-08
0.0.17 2020-10-29
0.0.16 2020-10-16
0.0.15 2020-08-20
0.0.14 2020-02-26
0.0.13 2020-02-26
0.0.12 2020-02-26
0.0.11 2019-06-12
0.0.10 2019-06-10
0.0.9 2019-04-16
0.0.7 2019-01-11
0.0.6 2018-09-16
0.0.5 2017-09-18
0.0.4 2017-09-18
0.0.3 2017-09-18
0.0.2 2016-01-22
0.0.1 2015-01-04