Skip to content

Checks anything from URLs to email addresses. A small and simple integration.

License

Notifications You must be signed in to change notification settings

mesqueeb/check-anything

Repository files navigation

Check Anything 👁

Total Downloads Latest Stable Version

npm i check-anything

Check anything from URLs to Email addresses.

Usage

import { isUrl, isHttpsUrl, isEmail } from 'check-anything'

isHttpsUrl('https://github.com') // true

isUrl('ftp://foo.bar/baz') // true

isEmail('me@github.com') // true

Https vs Http vs FTP vs other URLs

You usually want to use isHttpsUrl instead of isUrl. It will limit the URLs to just regular https:// urls and also has the smallest footprint.

isHttpsUrl

isHttpsUrl is opiniated, it will return false for the following list to keep the source code small and simple.

  • http URLs
  • ftp URLs
  • IP URLs (existing of only numbers)
  • password URLs
  • mailto URLs
import { isHttpsUrl } from 'check-anything'

// returns true:
isHttpsUrl('https://github.com')
isHttpsUrl('https://ギットハブ.com') // special characters in domain
isHttpsUrl('https://github.com/ギットハブ') // special characters in URI

// returns false:
isHttpsUrl('http://github.com') // http
isHttpsUrl('ftp://foo.bar/baz') // ftp
isHttpsUrl('https://142.42.1.1/') // ip
isHttpsUrl('https://userid:password@example.com') // password
isHttpsUrl('mailto:me@github.com') // mailto URLs

isUrl

isUrl on the other hand will return true for all of these, except for the mailto: URL.

import { isUrl } from 'check-anything'

// returns true:
isUrl('https://github.com')
isUrl('https://ギットハブ.com') // special characters in domain
isUrl('https://github.com/ギットハブ') // special characters in URI
isUrl('http://github.com') // http
isUrl('ftp://foo.bar/baz') // ftp
isUrl('https://142.42.1.1/') // ip
isUrl('https://userid:password@example.com') // password

// returns false:
isUrl('mailto:me@github.com') // mailto URLs

TODO

Let me know if you are interested in any of these functions, I will consider adding them:

  • isProbableUrl — to allow URLs like 'github.com' without protocol (has chance of failure though)
  • isFtpUrl
  • isPasswordUrl
  • isIpUrl
  • isMailtoUrl

Meet the family (more tiny utils with TS support)

About

Checks anything from URLs to email addresses. A small and simple integration.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published