input-validify v3.1.3
📦 Validify
A lightweight and powerful JavaScript validation library for usernames, passwords, emails, numbers, dates, URLs, phone numbers, and more — now with standardized error codes for cleaner error handling.
🚀 Installation
Install the package using npm:
npm install input-validify📥 Import & Usage
import Validify from "input-validify";
const vld = new Validify();🔤 Username Validation
validateText(text, special = false, min = 2, max = 20, allowedSymbols = [])
Validates a text input such as a username by restricting special characters and setting length limits.
Parameters:
text: string — The input text to validate.special: boolean — Allow special characters (true) or not (false).min: number — Minimum character length.max: number — Maximum character length.allowedSymbols: string[] — Custom allowed special characters (optional).
Example:
vld.validateText("User_123", true, 2, 10, ['_', '-', '@']);🔐 Password Validation
validatePassword(password, min = 6, max = 20, complexity = {})
Validates passwords for minimum/maximum length and character complexity.
Parameters:
password: string — The password to validate.min: number — Minimum character length.max: number — Maximum character length.complexity: object — Complexity rules:requireUppercase: booleanrequireLowercase: booleanrequireNumber: booleanrequireSpecialChar: boolean
Example:
vld.validatePassword("StrongPass123!", 8, 20, {
requireUppercase: true,
requireLowercase: true,
requireNumber: true,
requireSpecialChar: true,
});📧 Email Validation
validateEmail(email, regex?)
Validates email format using default or custom regular expression.
Parameters:
email: string — Email address to validate.regex: RegExp — Optional custom regex.
Example:
vld.validateEmail("example@email.com");
// With custom regex
vld.validateEmail("user@gmail.com", /^[a-z0-9._%+-]+@gmail\.com$/i);🔢 Number Validation
validateNumber(number, min = 4, max = 20)
Validates number or numeric string length.
Parameters:
number: number|string — The number to validate.min: number — Minimum length.max: number — Maximum length.
Example:
vld.validateNumber(123456, 4, 10);📅 Date Validation
validateDate(date, format)
Validates date string based on format.
Supported Formats:
YYYY-MM-DDDD/MM/YYYYMM/DD/YYYYYYYY/MM/DDYYYY-MM-DD HH:mm:ssDD/MM/YYYY HH:mm:ssMM/DD/YYYY HH:mm:ssYYYY/MM/DD HH:mm:ssYYYY-MM-DDTHH:mm:ssYYYY-MM-DDTHH:mm:ss.SSS
Parameters:
date: string — The date string to validate.format: string — The expected format.
Example:
vld.validateDate("2025-03-15", "YYYY-MM-DD");
vld.validateDate("15/03/2025 10:30:00", "DD/MM/YYYY HH:mm:ss");🌐 URL Validation
validateUrl(url)
Validates if the string is a valid URL.
Parameters:
url: string — The URL to validate.
Example:
vld.validateUrl("https://example.com");🔎 Regex Validation
validateWithRegex(value, regex)
Custom validation using regular expressions.
Parameters:
value: string — The value to validate.regex: RegExp — The regular expression.
Example:
vld.validateWithRegex("abc123", /^[a-z0-9]+$/i);☎️ Phone Number Validation
validatePhone(phoneNumber)
Validates phone numbers in various formats.
Parameters:
phoneNumber: string — The phone number to validate.
Example:
vld.validatePhone("+1 (123) 456-7890");
vld.validatePhone("123-456-7890");❗ Error Handling
All methods throw Error objects with error codes instead of plain text messages, so you can handle errors more programmatically:
Example:
try {
vld.validateText("");
} catch (err) {
console.log(err.message); // Example: "ERR_TEXT_EMPTY"
}📄 License
MIT License
👨💻 Author
Ali Abdullah
GitHub