@wandering/emailpassword
v1.0.2
Published
A lightweight npm package providing two essential utilities: 1. Email validation with comprehensive format checks. 2. Secure and customizable random password generation.
Downloads
143
Readme
EmailPassword
A lightweight npm package providing two essential utilities:
- Email validation with comprehensive format checks.
- Secure and customizable random password generation.
Features
Email Validation
- Supports standard email formats:
- Basic:
[email protected]
- With dots:
[email protected]
- With plus:
[email protected]
- With plus and dots:
[email protected]
- With special characters:
[email protected]
- Basic:
- Detects invalid formats such as:
- Consecutive dots:
[email protected]
- Dot at start/end:
[email protected]
or[email protected]
- Invalid characters:
user*[email protected]
- Missing parts:
[email protected]
or@example.com
- Consecutive dots:
- Validation rules:
- Local part: Allows alphanumeric, dots, underscores, hyphens, plus signs.
- Prevents dots at the start/end or consecutive dots.
- Allows plus signs after the first character.
- Domain: Allows alphanumeric, dots, hyphens.
- TLD: Requires at least 2 alphabetic characters.
Random Password Generator
- Generates secure random passwords.
- Customizable options:
- Include numbers.
- Include special characters.
- Include alphabets (uppercase and lowercase).
- Default password length: 8 characters.
- Ensures inclusion of at least one character set if specified.
Installation
Install the package using npm:
npm install @wandering/emailpassword
Usage
Import the Package
import { isValidEmail, randomPasswordGenerator } from '@wandering/emailpassword';
Email Validation
const isValidEmail = isValidEmail('[email protected]');
if (isValidEmail) {
console.log('Valid email address');
} else {
console.log('Invalid email address');
}
Random Password Generator
const password = randomPasswordGenerator(12, {
numbers: true,
special: true,
alphabets: true
});
console.log(`Generated Password: ${password}`);
API
isValidEmail(email: string): boolean
Validates if the provided email follows standard email formatting rules.
randomPasswordGenerator(length: number = 8, options: Object): string
Generates a random password with the specified length and character set options.
- Parameters:
length
(number): Length of the password (default: 8).options
(Object):numbers
(boolean): Include numbers (default: true).special
(boolean): Include special characters (!@#$%^&*()_+-=[]{}|;:,.<>?) (default: true).alphabets
(boolean): Include alphabets (default: true).
Example Project
Here is an example demonstrating both utilities:
import { isValidEmail, randomPasswordGenerator } from '@wandering/emailpassword';
// Validate an email
const email = '[email protected]';
if (!isValidEmail(email)) {
console.log('Invalid email address');
} else {
console.log('Valid email address');
}
// Generate a random password
const password = randomPasswordGenerator(10, {
numbers: true,
special: true,
alphabets: true
});
console.log(`Generated Password: ${password}`);
Contributing
Contributions are welcome! Feel free to submit issues or pull requests to improve this package.
Steps to Contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes and push to your fork.
- Submit a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
For any questions or feedback, feel free to contact:
- Author: Saanvi Lakhanpal
- GitHub: https://github.com/Saanvi26
Thank you for using emailpassword
. We hope it simplifies your development process!