npm i check-anything
Check anything from URLs to Email addresses.
import { isUrl, isHttpsUrl, isEmail } from 'check-anything'
isHttpsUrl('https://github.com') // true
isUrl('ftp://foo.bar/baz') // true
isEmail('me@github.com') // trueYou 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 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 URLsisUrl 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 URLsLet 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