Socket
Book a DemoInstallSign in
Socket

@the-node-forge/url-validator

Package Overview
Dependencies
Maintainers
3
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@the-node-forge/url-validator

A lightweight and efficient library for validating URLs. It ensures that URLs are correctly formatted and provides an optional feature to check whether a URL is live by sending an HTTP request. This package is designed for web applications, APIs, and serv

1.0.6
latest
Source
npmnpm
Version published
Weekly downloads
21
40%
Maintainers
3
Weekly downloads
 
Created
Source

URL Validator

License: MIT

Made with TypeScript

NPM Version Build Status Platform

Live Documentation

A lightweight and efficient URL validation package for JavaScript/TypeScript applications. This package helps developers validate URL syntax, check if a URL is live, and ensure proper domain formatting for better security.

✨ Features

  • Validate URL Format – Ensures the URL follows the correct syntax.
  • Check If a URL is Live – Uses an HTTP request to verify if a URL is reachable.
  • Ensure Valid Protocols – Only accepts http:// and https:// URLs.
  • Validate Domain and TLD – Ensures URLs have a proper domain and top-level domain.
  • Block Invalid IP Addresses – Prevents malformed or private IPs.
  • Customizable Allowed Status Codes – Define which HTTP status codes should be considered "live".
  • Handles Redirects – Follows up to 5 redirects by default.
  • Lightweight & Fast – Minimal dependencies for quick performance.
  • TypeScript Support – Fully typed for safer and better development.
  • Unit Tested – Built with Jest to ensure reliability.

📚 Installation

npm install @the-node-forge/url-validator

or using Yarn:

yarn add @the-node-forge/url-validator

🛠️ Basic Usage

1⃣ Validate URL Format

Easily check if a URL is properly formatted and follows best practices.

import { validateUrl } from '@the-node-forge/url-validator';

console.log(validateUrl('https://example.com')); // ✅ true
console.log(validateUrl('htp://invalid-url')); // ❌ false
console.log(validateUrl('http://example')); // ❌ false (Missing TLD)
console.log(validateUrl('http://999.999.999.999')); // ❌ false (Invalid IP Address)
console.log(validateUrl('http://exa mple.com')); // ❌ false (Contains spaces)

2⃣ Check If a URL is Live

Test if a URL is reachable by sending a request with customizable allowed status codes.

import { isUrlLive } from '@the-node-forge/url-validator';

isUrlLive('https://example.com').then(console.log); // ✅ true/false

Customizing Allowed Status Codes

By default, the following status codes are considered "live": [200, 301, 302, 403]. You can override this list if needed:

isUrlLive('https://example.com', [200, 301, 302]).then(console.log); // ✅ true if status is in the list

API Reference

validateUrl Function

validateUrl(url: string): boolean;
ParameterTypeDescription
urlstringThe URL to validate.

Returns: booleantrue if the URL is valid, otherwise false.

isUrlLive Function

isUrlLive(url: string, allowedStatusCodes?: number[]): Promise<boolean>;
ParameterTypeDescription
urlstringThe URL to check if it's live.
allowedStatusCodesnumber[] (optional)A list of status codes that should be considered "live".

Returns: Promise<boolean> – Resolves to true if the URL is reachable and returns a status in allowedStatusCodes, otherwise false.

💡 Contributing

Contributions are welcome! Please submit
issues or
pull requests.

⭐ Support

If you find this package useful, please give it a ⭐ on
GitHub

Keywords

url

FAQs

Package last updated on 18 Feb 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.