common-validations
is a lightweight library providing a suite of utility functions to validate various data types. The library includes functions for validating URLs, email addresses, phone numbers, IPv4 addresses, MAC addresses, ISO 8601 dates, credit card numbers, and strong passwords. Each function employs regular expressions to validate the input string against the corresponding data type. The library is designed to be simple, efficient, and easy to use, making it ideal for validating user input in web applications, APIs, and other software projects.
npm install common-validations
Import the necessary functions from the library and use them to validate your data:
import Validator, {
isURL,
isEmail,
isPhone,
isIPv4,
isMAC,
isISODate,
isCreditCard,
isStrongPassword,
} from "common-validations";
console.log(Validator.isURL("https://example.com")); //true
console.log(isEmail("user@example.com")); //true
console.log(isPhone("+1-800-555-1234")); //true
console.log(isIPv4("192.168.1.1")); //true
console.log(isMAC("00:1A:2B:3C:4D:5E")); //true
console.log(isISODate("2023-04-05")); //true
console.log(isCreditCard("4111111111111111")); //true
console.log(isStrongPassword("Aa1@strong")); //true
The Validator object is the primary entry point for the library, encompassing validation functions for various data types.
Each function accepts a string as input and returns a boolean indicating whether the input meets the validation criteria.
The Validator object includes the following functions:
- isURL - isURL(url: string): boolean
- isEmail - isEmail(email: string): boolean
- isPhone - isPhone(phoneNum: string): boolean
- isIPv4 - isIPv4(ip: string): boolean
- isMAC - isMAC(mac: string): boolean
- isISODate - isISODate(date: string): boolean
- isCreditCard - isCreditCard(card: string): boolean
- isStrongPassword - isStrongPassword(password: string): boolean
You can use the default import to access the Validator object and its functions:
import Validator from "common-validations";
console.log(Validator.isURL("https://example.com")); //true
console.log(Validator.isURL("invalid-url")); //false
Or you can import individual functions directly:
import { isURL } from "common-validations";
console.log(isURL("https://example.com")); //true
Validates if the provided string is a valid URL.
- Parameter: url - The URL string to validate.
- Returns: true if the string is a valid URL, false otherwise.
Example isURL('https://example.com'); // true
isURL('invalid-url'); // false
Validates if the provided string is a valid email address.
- Parameter: email - The email address string to validate.
- Returns: true if the string is a valid email address, false otherwise.
isEmail('user@example.com'); // true
isEmail('user@example'); // false
Validates if the provided string is a valid phone number.
- Parameter: phoneNum - The phone number string to validate.
- Returns: true if the string is a valid phone number, false otherwise.
isPhone('+1-800-555-1234'); //true
isPhone('123-abc-7890'); //false
Validates if the provided string is a valid IPv4 address.
- Parameter: ip - The IPv4 address string to validate.
- Returns: true if the string is a valid IPv4 address, false otherwise.
isIPv4('192.168.1.1'); //true
isIPv4('999.999.999.999'); //false
Validates if the provided string is a valid MAC address.
- Parameter: mac - The MAC address string to validate.
- Returns: true if the string is a valid MAC address, false otherwise.
isMAC('00:1A:2B:3C:4D:5E'); //true
isMAC('00-1A-2B-3C-4D-5E-GH'); //false
Validates if the provided string is a valid ISO 8601 date.
- Parameter: date - The ISO 8601 date string to validate.
- Returns: true if the string is a valid ISO 8601 date, false otherwise.
isISODate('2023-04-05'); //true
isISODate('2023-13-01'); //false
Validates if the provided string is a valid credit card number.
- Parameter: card - The credit card number string to validate.
- Returns: true if the string is a valid credit card number, false otherwise.
isCreditCard('4111111111111111'); //true
isCreditCard('1234567812345678'); //false
Validates if the provided string is a strong password.
- Parameter: password - The password string to validate.
- Returns: true if the password meets the strong password criteria, false otherwise.
A strong password typically includes a mix of:
- At least one lowercase letter
- At least one uppercase letter
- At least one numeric digit
- At least one special character from [@ $ ! % * ? &]
- A minimum length of 8 characters
isStrongPassword('Aa1@strong'); //true
isStrongPassword('weakpass'); //false
Contributions are welcome! Please open an issue or submit a pull request to contribute.
This library is licensed under the MIT License. See the LICENSE file for details.
Happy validating!